问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++ 编写程序计算 sentence 中有多少个单词

发布网友 发布时间:2022-05-13 22:43

我来回答

1个回答

热心网友 时间:2023-11-03 13:15

#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string line1="We were her pride of 10 she named us:";
string line2="Benjamin, Phoenix, the Prodigal";
string line3="and perspicacious pacific Suzanne";
string sentence=line1+' '+line2+' '+line3;
string separators(" \t:,\v\r\n\f");
string word;
string::size_type maxLen,minLen,wordLen,count=0;
vector<string> longestWords,shortestWords;
string::size_type startPos=0,endPos=0;
while((startPos=sentence.find_first_not_of(separators,endPos))
!=string::npos){
//找到下个单词的起始位置
++count;
//找到下个单词的结束位置
endPos=sentence.find_first_of(separators,startPos);
if(endPos==string::npos) //如果为最后一个单词
wordLen=sentence.size()-startPos;
else
wordLen=endPos-startPos;
//}此处的}去掉,你加错了,此处不该结束while循环体的
word.assign(sentence.begin()+startPos,
sentence.begin()+startPos+wordLen);//获取单词

//设置下次查找的起始位置
startPos=sentence.find_first_not_of(separators,endPos);
if(count==1) {//找到是第一个单词
maxLen=wordLen;
minLen=wordLen;
longestWords.push_back(word);
shortestWords.push_back(word);
}
else{
if(wordLen>maxLen){
maxLen=wordLen;
longestWords.clear();
longestWords.push_back(word);
}
else if(wordLen==maxLen)
longestWords.push_back(word);

if(wordLen<minLen){
minLen=wordLen;
shortestWords.clear();
shortestWords.push_back(word);
}
else if(wordLen==minLen){
shortestWords.push_back(word);
}
}
}//此时加上},结束while
cout << "word amount: " << count << endl;
vector<string>::iterator iter;

cout << "longest word(s):" << endl;
iter=longestWords.begin();
while(iter!=longestWords.end())
cout << *iter++ << endl;

cout << "shortest word(s):" << endl;
iter=shortestWords.begin();
while(iter!=shortestWords.end())
cout << *iter++ << endl;

return 0;
}追问谢谢,我想问我的问题在哪里?

追答不是和你说了么!!我在程序里注释了。。。while循环体{}的位置错误

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土石方回填怎么算 深圳市行政机关公开招考公务员中的警察职位对身高、视力有要求吗? 精子和卵子结合肚子会疼吗 ...控制食欲啊 我一点控制力都没有 看见吃的就想吃 还是在不饿的情况... 食欲超旺盛!看见东西就想吃,看电视都会想吃,有什么控制的办法?? 阴阳师微信登录的是渠道服吗_怎么分辨渠道服 请问图片里的广州南指的是火车站“广州南站”吗?还是指别的?” 广州火车南站和广州南站有什么区别 女性长扁平疣的原因 段前段后0.5行怎么设置呢? 上海的0丨路公交车沿途公交停靠那些站点? DNF拍卖行规则 - 信息提示 查询我用手机扫码坐公交车,为什么余额是零? DNF拍卖行手续费怎么算? 公交车刷卡机显示0是不是就没有刷上 翻译英文,高手帮忙!谢谢! 在python里如何拆分元素 求解:下题 杭州上第二辆公交车消费0元 我用的是月卡 游泳中的“黄金赛道”是怎么回事? 为什么中兴通讯人才流失严重? 我21岁,身高163,体重106,三围80&#47;67&#47;88,身边人评价说是淑女甜美型。想挑两件裙子,一件长袖一件短袖哈 公交车0-100米加速几秒? 汉译英(急!) 毕业论文想做有关房地产的,哪方面的好写呢? 坐公交车零元是怎么回事儿? 蓝盈莹分手后,哪些搭配让她愈发貌美? python 写一个 split_on_separator 重庆火车北站公交车0字开头是不是通宵车 请问什么公司猎头通信类人才实力比较强? dnf游戏币拍卖行一天能用多少? dnf怎么在拍卖买人偶啊?怎么搜不到 你所了解的哪些牌子的补水面膜效果最好? 一部手机同时插两张手机卡,会不会增加耗电量? 手机里面放两张卡耗电吗? 一张卡两个手机用会损耗电池吗? 手机用两个卡是否会费电很多 插了2张卡之后手机感觉比以前费电了,这是为什么啊 双卡手机,放两张卡,费电吗? 发电机控制器的的“三遥”功能是什么意思 高压真空负荷开关怎么实现三遥控制 遥信 遥控用常开点还是常闭点呢? 火车上是什么样子的?座位,是不是有背对着车头的那种座位? 火车上,商务坐是什么样子的 关于路灯控制器,现在路灯的半夜控制,经纬仪只能让半夜灭一路灯,每天都是那一路, 火车硬座上层是什么样子的。 柴油发电机组的配置怎么选择 柴油发电机组三遥有什么用 快手卖家能否设置拒绝付款 小腿脚踝皮下有小红点斑块有时痒怎么办? 电脑重装了系统,以前放在桌面上的东西还能还原吗