C語言·XDOJ練習·單詞統計
阿新 • • 發佈:2021-01-10
C語言·XDOJ練習·單詞統計
題目描述:
輸入字串string[N](N≤100),各個單詞以空格隔開,單詞長度小於等於8,輸入單詞word[M](M≤8),
在string中查找出相同的單詞並統計該單詞出現的次數資訊,單詞不區分大小寫,
輸出單詞和出現次數的資訊,資料之間空一格空格。
主函式輸入字串和待統計單詞,編寫函式count()實現統計和資訊輸出
輸入描述:
輸入一行字元以空格隔開各個單詞,輸入要統計的單詞。
輸出描述:
輸出單詞及其出現的次數資訊,資料之間空一格。
輸入樣例:
To be or not to be is a question
輸出樣例:
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;
}