【问题描述】提示用户输入一行文本,其中以空格分隔为若干个单词,以“.”结束。单词之间空格的数量不确定,行首也可能有空格。程序输出这行文本中每个单词的长度(其中的字符个数),每行一个单词。注意,连续的字符被界定为一个单词,that's是一个单词,长度为6;最后的‘.’不计算在内。 【注:不需要字符串、数组等知识。】【输入形式】输入一行文本,以‘.’结束。【输出形式】按照单词出现的顺序,输出单词及对应的长度,每个单词一行。【样例输入】 That's a good question.【样例输出】Please input a line of words:That's: 6a: 1good: 4question: 8
1条回答 默认 最新
- qfl_sdu 2021-06-01 21:28关注
代码如下,如有帮助,请采纳一下,谢谢。
#include <iostream> #include <string> using namespace std; int main() { string src = ""; int i = 0; string tmp; bool bPrectrl = true; cout << "请输入一个字符串:" << endl; getline(cin,src); while(i < src.length()) { if (src.at(i) == ' ' && bPrectrl) { i++; bPrectrl = true; continue; }else if ( (src.at(i) == ' ' || src.at(i) == '.' ) && (!bPrectrl)) { bPrectrl = true; cout << tmp << ":" << tmp.length() << endl; tmp = ""; i++; }else { bPrectrl = false; tmp.append(1,src.at(i)); i++; } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥15 微生物组数据分析--微生物代谢物
- ¥30 求一跃动小子保卫主公算法实现
- ¥15 地图软件开发技术答疑(api, 地点获取,外观样式)
- ¥20 物理远程控制麦克风使用问题
- ¥15 打印预览会泄漏纸钱包密码吗
- ¥15 在hololens1上运行unity项目只有空窗口
- ¥25 TABLEAU PREP无法打开
- ¥15 百度帐号问题/centos
- ¥15 关于#c语言#的问题:求完整代码条件好说
- ¥100 HALCON DELPHI