#include<stdio.h>
#include<string.h>
struct words{
char word[80];
int num;
} passage[10];
main()
{
char s[]="This is C programming text This is C text";
char a[10][80];
int i,j,k,t,r,u;
i=j=k=t=u=0;
for(i=0;i<10;i++){
passage[i].num=0;
}
i=0;
while(k<strlen(s)){
while(s[k]!=' '&&k<strlen(s)){
a[i][j]=s[k];
j++;
k++;
}
a[i][j]='\0';
i++;
k++;
j=0;
}
for(t=0;t<i;t++){
puts(a[t]);
}
//这以上程序是将char s[]存放在数组a[10][80]中,
//其中a[i]放入一个单词。具体见论坛:
//将char s[]存放在数组a[5][20]
while(strlen(passage[u++].word)>0){
for(t=0;t<i-1;t++){
for(r=t+1;r<i;r++){
if(strcmp(a[t],a[r])==0){
strcpy(passage[u].word,a[t]);
passage[u].num++;
}
}
}
}
for(r=0;r<u;r++){
printf("%s %d",passage[r].word,passage[r].num);
}
//这里是统计各个单词出现的个数。
}
程序有问题,但我看不出。请帮忙!谢谢~~
一分耕耘,一分收获。