问题是:输入一个英文句子,每个句子间用空格隔开,求句子里包含几个单词,并将单词的个数显示在屏幕上。
我的思路是数空格,除了最后一个单词之外,每个单词后面都有一个空格。利用循环检验每个字符是否等于空格的ascii码值(32),若是则将单词数加一,最后只需要将单词个数加一即可,如果检验到/0就停止循环。
#include
int main()
{
int b,c;
char a[999];
gets(a);
for(b=0,c=0;;b++)
if(a[b]==0) break;
if(a[b]==32)
c=c+1;
c++;
printf("%d\n",c);
return 0;
}
int main()
{
int b,c;
char a[999];
gets(a);
for(b=0,c=0;;b++)
{
if(a[b]==0) break;
if(a[b]==32)
c=c+1;
}
c++;
printf("%d\n",c);
return 0;
}
你这就是for循环没有大括号,注意代码规范,不要省事