代码思路:下面代码中
#include <stdio.h>
int main()
{ //英文单词是用空格分开的
char arr[90];//定义一个数组
int i,num=0,word=0;//定义i控制判断的循环,num控制单词个数,word控制程序是否运行到空格
char c;//定义一个字符,等会可以一个一个字符判断是否成为一个单词
gets(arr);//gets输入字符数组,不能用scanf,因为scanf遇到空格和回车会停止输入。
for(i=0;(c=arr[i])!='\0';i++)//循环条件是,当单词里面的单个字母不是'\0'时,这个单词就还没完整。
{
if(c==' ')//判断这个字符是否是‘’,如果是,就证明一个单词输入完毕了
{
word=0;//再将word值复位0;
}
else if(word==0)//首先进入这个判断,将word=1,num++。
//然后执行下面语句,只有当程序运行遇到空格时才执行这个判断。
{
word=1;
num++;
}
}
printf("%d\n",num);//最后输出单词的个数
return 0;
}