1031 统计单词个数时间限制:1000MS 代码长度限制:10KB 题型: 编程题 语言: G++;GCC Description写一个函数实现:输入一行字符,以空格分割单词,回车结束输入,输出单词的个数 输入样例There are many students and many trees! 输出样例7 |
//注:根据题目输入要求,只考虑单词间只有一个空格的情况
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
int count=1; //注意这里是1
c=getchar();//注意区分c=getchar();与gets(c);的区别,都可以输入一大串字符,但前者是一个一个将值赋在c中,即c只表示一个字符,后者中的c是一个字符串
while(c!='\n')//为何用\n不用\0:while (c!= '\n')的目的是读取用户输入的字符,'\0'表示字符串的结束标志,它不是用户输入的部分,而是在C语言的字符串中用于标识字符串的结束。所以,while (c != '\n')正确地供用户读取输入字符,直到用户按回车键来结束输入。
{
if(c==' ')
count++;
c=getchar(); /*如果不执行第二次 c = getchar();,那么程序将永远只会处理用户输入的第一个字符,而不会继续读取并处理后续字符,这显然不是我们想要的行为。*/
}
printf("%d\n",count);
return 0;
}