题目思路——单词长度

单词长度

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。

输入格式:

输入在一行中给出一行文本,以.结束

提示:用scanf("%c",...);来读入一个字符,直到读到.为止。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

实验代码:

#include <stdio.h>
int main()
{
    int a[10001] , i=0 ;
    char c ;
    do 
    {
        scanf("%c",&c);
        if(a[i]==0 && c=='.')  //读入空句子的情况
        {
            break;
        }
        if(a[i]==0 && c==' ')  //开头为单个或多个空格的情况,及句子中间多个空格的情况
        {
            continue;
        }
        if(c==' ' && a[i]!=0)  //单词后出现空格
        {
            if(i==0)
            {
                printf("%d",a[i]);
            }
            else
            {
                printf(" %d",a[i]);  //注意输出添加空格
            }
            i++;
            a[i]=0;
            continue;
        }
        if(c=='.' && a[i]!=0)
        {
            if(i==0)
            {
                printf("%d",a[i]);
            }
            else
            {
                printf(" %d",a[i]);
            }
            break;
        }
        a[i]++;
    }while(c != '.');
    return 0;
}
原文地址:https://www.cnblogs.com/dx2017/p/7850037.html