1. 程式人生 > 其它 >C語言·XDOJ練習·單詞統計

C語言·XDOJ練習·單詞統計

技術標籤:#C語言練習c語言

C語言·XDOJ練習·單詞統計

題目描述
輸入字串string[N](N≤100),各個單詞以空格隔開,單詞長度小於等於8,輸入單詞word[M](M≤8),
在string中查找出相同的單詞並統計該單詞出現的次數資訊,單詞不區分大小寫,
輸出單詞和出現次數的資訊,資料之間空一格空格。
主函式輸入字串和待統計單詞,編寫函式count()實現統計和資訊輸出

輸入描述
輸入一行字元以空格隔開各個單詞,輸入要統計的單詞。

輸出描述
輸出單詞及其出現的次數資訊,資料之間空一格。

輸入樣例
To be or not to be is a question

to

輸出樣例
to 2

#include<stdio.h>
#include<string.h>
int main()
{
	int i=0,j=0,k=0,n=0;//迴圈數 
	int count=0;//對匹配次數計數 
	int num=0;//單詞個數 
	int length;//單詞長度 
	char s[100]={'0'},s0[50]={'0'};
	gets(s);//句子 
	gets(s0);//單詞 
	/*把首字母轉化為小寫字母*/
	strlwr(s);
	for(i=0;i<strlen(s);i++)//遍歷句子 ,以尋找首字母 
	{
		if(s0[0]==s[i])//如果發現單詞首字母 
{ count=0;//歸零 /*依次判斷各字母是否相等*/ for(k=0,n=i;k<strlen(s0)&&n<(strlen(s0)+i);k++,n++)//遍歷單詞 與句子片段 { if(s[n]!=s0[k])//如果不相等 ,中止判斷 { n=(strlen(s0)+i); k=strlen(s0); } else { count+=1; } } length=strlen(s0); if(count==length)//如果存在匹配片段 { if
(s[n]==' '||n==strlen(s))//如果下一個字元是空格或到結尾 { num+=1;//計數加一 } else { continue;//進入下一個迴圈繼續尋找首字母或結束 } } } } for(i=0;i<length;i++) { printf("%c",s0[i]); } printf(" %d",num); return 0; }