实验6-10 统计单词的长度
本题目要求编写程序,输入一行字符,统计每个单词的长度。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出每个单词的长度。每个数字后有一个空格。
输入样例:
How are you?
输出样例:
3 3 4
#include <stdio.h>
int main() {
int length = 0;
char ch;
int word = 0; // 用于标记是否在单词中,0表示不在,1表示在
int space = 0; // 用于标记是否有非空格字符输入
while ((ch = getchar()) != '\n') {
if (ch != ' ') { // 如果不是空格或制表符,表示在单词中
length++;
word = 1;
space = 1;
} else {
if (word) { // 如果是空格或制表符且之前在单词中,则输出单词长度
printf("%d ", length);
length = 0;
word = 0;
}
}
}
if (word) { // 处理末尾单词的情况
printf("%d ", length);
} else if (!space) { // 处理全是空格的情况
printf("0 ");
}
return 0;
}