本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
#include <stdio.h>
#define MAXN 1000 //假设最多输入1000个字符。
int main(void) {
char str[MAXN], *p; //定义字符数组和字符指针。
int count = 0; //计数多少个单词。
gets(str); //获取字符串。
for ( p = str; *p; ) { //p指针指向字符串str,*p表示p指向'\0'是中断循环。
if ( *p != ' ' ) { //检测到非空格,算一个单词。
count++;
while ( *p != ' ' && *p ) p++; //移动指针跳过这个单词后的字母。
} else {
while ( *p == ' ' ) p++; //若检测到空格,移动指针。
}
}
printf("%d\n", count);
return 0;
}