用C語言統計字串中單詞的個數?

用C語言統計字串中單詞的個數?使用者37951250245905202019-08-22 03:11:21

給你個類似的。。。你小改下,就應該可以了。希望對你有幫助

/*編寫一個函式,該函式可以統計一個長度為2的字串在另一個字串中出現的次數。

例如,假定輸入的字串為:asd asasdfg asd as zx67 asd mklo,

子字串為:as,則應輸出6。

[程式分析]

由於小串中只有2個字元所以可用str[i]==sbustr[0]&&str[i+1]==substr[1]來判斷小串是否與長串當前位置(str[i])相同(即出現一次)。

因而只要讓長串當前位置逐一向後移即可(用for()迴圈來完成)

*/

//[源程式]

#include “stdio。h”

#include “string。h”

#include “conio。h”

int fun(char *str,char *substr)

{ int i,n=0,s=strlen(str);

for(i=0;i

if((str[i]==substr[0])&&(str[i+1]==substr[1]))

n++;

return n;

}

main()

{

char str[81],substr[3];

int n;

printf(“輸入的字串:”);

gets(str);

printf(“子字串:”);

gets(substr);

puts (str);

puts(substr);

n=fun(str,substr);

printf(“n=%d\n”,n)

}

/*******************************************************************************************************/

按你的意思我改了下呼叫函數里的

int fun(char *str,char *substr)

{

int i,j,n=0,s=strlen(str),m=strlen(substr),pan=1;

printf(“%d\n”,m);

for(i=0;i

{ pan=1;

for(j=0;j

if((str[i+j]!=substr[j]))//這是進行比較,不是跳出

{pan=0;

break;}

if(pan)

n++;

}

return n;

}