c语言——求单词个数

    xiaoxiao2023-10-12  160

    #include <stdio.h> #include <stdlib.h> int main() { char str[20];//定义一个字符型一维数组,长度为20 int i,num; printf("请输入一行英文:\n");//提示语句 gets(str);//输入一个字符串给字符数组str num = str[0]!= ' '? 1:0;//? : 是条件运算符,如果str[0]!=' '为真,则num = 1,否则num = 0。 for(i=1;str[i]!='\0';i++)//由于字符串结束标志是'\0',只有str[i]!='\0',for循环才一直进行循环,否则退出循环 { if((str[i]!=' ')&&(str[i-1]==' ')) { num++; } } printf("num = %d\n",num);//打印单词的个数 return 0; } if((str[i]!=' ')&&(str[i-1]==' '))

    满足单词个数num++的条件: 若当前字符不是空格,而前一字符是空格,则表示有新单词出现 当我们输入i want to fly 时,i前面不是空格,但是他也算一个单词, 所以这就是 num = str[0]!= ' '? 1:0;单独写出来的原因

     

     

    最新回复(0)