c++文本单词统计问题
答案:1 悬赏:80
解决时间 2021-01-20 08:13
- 提问者网友:饥饿走向夜
- 2021-01-19 10:13
c++文本单词统计问题
最佳答案
- 二级知识专家网友:怀裏藏嬌
- 2021-01-19 11:43
一个思路: 合法的英文文本的单词数是空格数加1;不合法则是去掉头尾的连续空格后的空格段数加1
不合法时显然也适用于合法的情况,这里给出不合法情况的代码:
bool flag = 1;//遇到第一个字母前为1,用于不计前面多出的空格
for(int i=0;str[i];i++)
{
if(str[i]==' '&&((str[i+1]>='A'&&str[i+1]<='Z')||(str[i+1]>='a'&&str[i+1]<='z')))//最后一个字母后面若有空格,则不会计入
{
if(flag)//不算第一个字母前的空格
continue;
wnum++;
}
}
不合法时显然也适用于合法的情况,这里给出不合法情况的代码:
bool flag = 1;//遇到第一个字母前为1,用于不计前面多出的空格
for(int i=0;str[i];i++)
{
if(str[i]==' '&&((str[i+1]>='A'&&str[i+1]<='Z')||(str[i+1]>='a'&&str[i+1]<='z')))//最后一个字母后面若有空格,则不会计入
{
if(flag)//不算第一个字母前的空格
continue;
wnum++;
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯