单词数
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 29 Accepted Submission(s) : 10
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Input
Output
Sample Input
you are my friend #
Sample Output
4 C语言程序代码
/*解题思路: 先定义一个数组a[]存放字符串,记得要用gets()输入,因为字符串中有空格, 再定义一个数组t[]来单一存放每一个单词,每存放一次都要对 数组t[]进行初始化。 这样才能每次只存放一个单词在t[]中。然后再定义一个二维数组b[][]来存放t[]中的单词, 最后,再判断将要存进来的t[]的单词是否在b[][]中已有,若有则结束,否则, 将新的单词也存放到b[][]中,最后输出总单词数。*/
#include<stdio.h> #include<string.h> int main(){ int n,m,i,j,k,l; char a[1001],b[1001][1001],t[1001]; while(gets(a)) { if(a[0]=='#') break; memset(b,'\0',sizeof(b)); n=0; l=strlen(a); for(i=0;i<l;i++) { memset(t,0,sizeof(t)); j=0; for(;a[i]!=' '&&i<l;i++) { t[j++]=a[i]; } if(j>0) { for(k=0;k<n;k++) if(strcmp(t,b[k])==0) break; if(k==n) strcpy(b[n++],t); } } printf("%d\n",n); memset(a,0,sizeof(a)); } return 0; }