你今天学C了吗 发表于 2020-4-28 09:30:47

统计单词的长度

输入一行文本,其中以空格分隔为若干个单词,以.结束。 输出每个单词的长度。 注意,行中可能出现连续的空格;最后的.不计算在内。

输入格式:
输入一行文本,以空格分隔为若干个单词,以.结束。

输出格式:
输出每个单词的长度(字符的个数),中间以1个空格分隔,最后一个数也有空格

输入样例1:
   hello world   .
   
输出样例1:
5 5
   
输入样例2:
the car is red.
   
输出样例2:
3 3 2 3

求问应该怎么写这个程序?

773254968 发表于 2020-4-28 09:39:42

步骤:
1.去除多余的空格。比如:循环调用替换函数,将两个空格替换成一个,直到没有的替换。
2.去除“.”后面的字符(包括“.”)。
3.内容整理好,自己分割去数也好或者直接数也好。

sunrise085 发表于 2020-4-28 09:50:41

#include <stdio.h>

int main() {
    int length=0;
    char ch;
    while((ch=getchar())!='.'){
      if ((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z')||ch=='-')
            length+=1;
      else if (ch==' '){
                if(length!=0){
                  printf("%d",length);
                  length=0;
                }
      }
      else{
            printf("input error!");
            return 0;
      }
        }
        if(length!=0)
      printf("%d",length);
        return 0;
}
页: [1]
查看完整版本: 统计单词的长度