C语言作业
#include <stdio.h>
int main()
{
int start = 0;//start用来说明输入有字母
int i = 0;
int j = 0;//i 为计数器,j为判断符
char c = 0;
while (c != '\n') {
c = getchar();
if (c == ' ') {
++j;//读入多个'空格'时,判断器不断增加,但只有判断器j=1时计数器才增加
}
else if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
j = 0;//读入字母,重置判断器
start = 1;//有字母
};
if (j == 1) {//判断器读入首个‘空格’,计数器+1
++i;
}
}
if (j == 0&&start==1) {
//结尾没有空格,j=0,i少了一个,所以i要+1
printf("%d", i+1);
}
else if(j==1){
//结尾有一个空格,但是最后回车是以'\n'形式进入循环,j此时为1,i会多一个
printf("%d", i-1);
}
else {//结尾有好几个空格
printf("%d", i );
}
return 0;
}