用c++编程输入一个句子,提取并用字符数组储存句子中所有单词
时间: 2024-03-13 12:47:12 浏览: 162
好的,以下是一个示例程序,可以实现你的需求:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sentence;
cout << "请输入一个句子:" << endl;
getline(cin, sentence); // 读取整行输入
string word; // 用于储存当前单词
string words[100]; // 用于储存所有单词
int word_count = 0; // 记录单词个数
// 遍历句子中的所有字符
for (char c : sentence) {
if (c == ' ' || c == '\t') { // 遇到空格或制表符,表示当前单词结束
if (!word.empty()) { // 如果当前单词不为空,说明存在一个完整的单词
words[word_count++] = word; // 将当前单词加入单词数组
word.clear(); // 清空当前单词
}
}
else { // 遇到非空格或制表符的字符,将其加入当前单词
word += c;
}
}
// 如果最后一个单词还没有加入单词数组,需要手动加入
if (!word.empty()) {
words[word_count++] = word;
}
// 输出所有单词
cout << "该句子中的单词有:" << endl;
for (int i = 0; i < word_count; i++) {
cout << words[i] << endl;
}
return 0;
}
```
该程序中,我们首先使用 `getline(cin, sentence)` 读取整行输入的句子,然后遍历句子中的所有字符,将它们组合成单词,并将单词存入一个字符串数组中。最后,输出所有存储的单词。需要注意的是,程序中使用了 `string` 类型来储存输入的句子和单词,这是因为 `string` 类型具有方便的字符串操作方法,可以简化程序的编写。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)