解题思路:定义一个字符串数组存放单词,一边存放,一边统计,并统计单词的数量。
注意事项:当存放单词时,先跟前面的比较是否有该单词,没有则把该单词存放到字符串数组中。
参考代码:
#include <stdio.h> #include <string.h> int fun(char *a) { int i,j,k,n; char temp[30]; char s[100][30]; while(*a==' ') a++; //去掉前面的空格 j=0; k=0; for(i=0;a[i]!='\0';i++) { if( a[i]!=' ' ) //当前是字母,则保存到字符串中 temp[j++]=a[i]; if( a[i]!=' ' && ( a[i+1]==' ' || a[i+1]=='\0') ) //遇到空格,或者结束标志 { temp[j]='\0'; //当前单词统计结束,加上字符串结束标志 j=0; if(k==0) //如果是第一个,直接保存 strcpy(s[k++],temp); else //不是第一个,跟前面的比较 { for(n=0;n<k;n++) if(strcmp(s[n],temp)==0) break; if(n==k) //找不到该单词,则把该单词存入数组s中 strcpy(s[k++],temp); } } } return k; } int main() { char a[100]; int n; gets(a); n=fun(a); printf("%d",n); return 0; }
0.0分
6 人评分
C二级辅导-求偶数和 (C语言代码)浏览:664 |
C二级辅导-等差数列 (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题8.3 (Java代码)浏览:1402 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:724 |
用筛法求之N内的素数。 (C语言代码)浏览:1386 |
简单的a+b (C语言代码)浏览:753 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
WU-判定字符位置 (C++代码)浏览:1471 |
1011题解浏览:819 |