单词长度:
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。
输入格式:
输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It's great to see you here.
输出样例:
4 5 2 3 3 4
输出:
#include<stdio.h>
int main()
{
char a;
int len=0,sw=0,sum=0;//len记录每个单词包含几个字母
while((a=getchar())!='.'){
if(a!=' '){
len++;
sw=0; //sw是字母开关,sum是空格开关,包含操作系统的互锁理论
sum=0; //只有前面有字母以及有一个空格输入的情况下才会输出字母数目
}else {
// sw=1;
sum++;
}
if(sw==0&&sum==1&&len!=0){
printf("%d ",len);
len=0;
}else {
continue;
}
}
if(len>0) printf("%d",len);
return 0;
}
总结:
1、掌握两个stdio.h类的函数:getchar(),putchar().都是对一个单词内单个字母的操作,进行字母级别的操作时比较适用。
2、if函数的条件判断里面的戏很多,可以进行更深层次的挖掘。
3、这次受到他人的作品启发,希望下次遇见类似的题目能够自己独立完成。