PLGT 2021-06-01 20:58 采纳率: 66.7%
浏览 740
已结题

c++程序计算单词长度

【问题描述】提示用户输入一行文本,其中以空格分隔为若干个单词,以“.”结束。单词之间空格的数量不确定,行首也可能有空格。程序输出这行文本中每个单词的长度(其中的字符个数),每行一个单词。注意,连续的字符被界定为一个单词,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;
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微生物组数据分析--微生物代谢物
  • ¥30 求一跃动小子保卫主公算法实现
  • ¥15 地图软件开发技术答疑(api, 地点获取,外观样式)
  • ¥20 物理远程控制麦克风使用问题
  • ¥15 打印预览会泄漏纸钱包密码吗
  • ¥15 在hololens1上运行unity项目只有空窗口
  • ¥25 TABLEAU PREP无法打开
  • ¥15 百度帐号问题/centos
  • ¥15 关于#c语言#的问题:求完整代码条件好说
  • ¥100 HALCON DELPHI