You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++随机句子生成器句尾添加句号功能实现问题咨询

问题原因

你当前的代码每次拼接完单词都会额外追加一个空格,最终生成的sentence末尾会多出一个多余的空格,直接追加句号会出现「句尾空格+句号」的错误格式,不需要使用if或者while语句就能解决这个问题。

解决方案

在首字母大写逻辑后,先删除末尾的多余空格,再追加句号即可,修改对应代码段如下:

sentence[0] = toupper(sentence[0]);
// 删除末尾多余的空格
sentence.pop_back();
// 追加句尾句号
sentence += '.';
cout << sentence << endl;

如果使用的是不支持C++11的老版本编译器,可以把sentence.pop_back()替换为sentence.erase(sentence.length() - 1);,效果完全一致。

额外提示

你定义的介词数组preposition首个元素为the,属于冠词不属于介词,可能会导致生成的句子存在语法错误,可根据实际需求调整。

内容的提问来源于stack exchange,提问作者Jose Villegas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:24:06