你的程序要读入一行文本,其中以空格分隔为若干个单词,以.
结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's
算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.
不计算在内。
输入格式:
输入在一行中给出一行文本,以.
结束
提示:用scanf("%c",...);
来读入一个字符,直到读到.
为止。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It's great to see you here.
输出样例:
4 5 2 3 3 4
#include<stdio.h>
int main(){ //行末似乎要求换行
int l=0,p=0,k=1; //l记录当前单词长度,p为前面是否有输出标志,k为整个文本是否存在单词
char t;
scanf("%c",&t);
while(t!='.'){
if(t!=' '){ //t不为.且不是空格时长度加一
l++;
}else if(l!=0){ //t为空格时如果当前单词长度不为0考虑输出
if(p){ //前面有输出了加上空格
printf(" %d",l);
}else{ //输出的第一个长度
printf("%d",l);
p=1;
}
k=0; //整个文本有输出即存在单词
l=0; //一个单词结束了
}
scanf("%c",&t);
}
if(l!=0 &&!k){ //控制.左边紧邻的第一个单词长度输出格式
printf(" %d\n",l);
}else if(l!=0 &&k){
printf("%d\n",l);
}else if(l==0){
printf("\n");
}else if(k){
printf("0\n");
}
return 0;
}