题目展示:
代码展示:
#include<stdio.h>
#include<string.h>
int main()
{
int j1 = 0,j2 = 1,count = 0;
//j1用来判断有字符,j2判断有空格,同时满足时count++
//空格的ascii码值为32
while((j1 = getchar())!='\n')
{
if(j1==32)
j2 = 1;
if(j1!=32&&j1&&j2)
{
count++;
j2 = 0;
}
}
printf("%d",count);
return 0;
}
欢迎在评论区提出你的问题,有问必答,同时如果你有更好的解答代码,一定要在评论区留言,共同进步哈。
答案讲解:
首先不能通过数空格数的结果。由观察可知,当同时满足前有空格,后有字符时有一个单词,同时这里还应该注意到的是,将j2的值赋值为1,这样只要能进循环,就代表有一个单词,就解决了只有一个单词的用例。