计算单词个数
老规矩,先分析,再写思路,最后上代码。
1.统计单词个数,我一开始想到用空格+1来计算,但是有的题就故意刁难你,如
所以我们换一种思路;
2.全新思路: 字符串str[i]为字母,而它下一个str[i+1]不是字母为一个单词
3.上代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
char str[101];
int num=0,i;
gets(str); //111 输入字符串储存在str数组中
for(int i=0;str[i] != '\0';i++) //222 不遇到字符串结尾的\0,不会结束
if(((str[i] >= 'A' && str[i] <= 'Z') || (str[i]>='a'&&str[i]<='z'))
&& !((str[i+1]>='A'&&str[i+1]<='Z')||(str[i+1]>='a'&&str[i+1]<='z')))
//33333 str[i]为字母,而它下一个不是字母为一个单词
{
num++;}
cout<<num<<endl;
return 0;
}
小补充:
gets函数与fgets函数:两个都是输入字符数组,但fgets更全面;
gets格式(用数组char str[101]为例)
gets(str);
fgets格式
fgets(str,sizeof(str),stdin);