定义一个二维字符数组s[4][20],输入四句话保存起来,并统计每句话中的单词个数。
时间: 2023-12-15 14:05:26 浏览: 33
下面是一个示例程序,它可以实现你的需求:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s[4][20];
int count[4] = {0};
// 输入四句话
for (int i = 0; i < 4; i++) {
cout << "请输入第" << i + 1 << "句话:";
cin.getline(s[i], 20);
}
// 统计每句话中的单词个数
for (int i = 0; i < 4; i++) {
int len = strlen(s[i]);
bool in_word = false; // 标记是否在单词中
for (int j = 0; j < len; j++) {
if (s[i][j] == ' ' || s[i][j] == '\t' || s[i][j] == '\n') {
in_word = false;
} else if (!in_word) {
in_word = true;
count[i]++;
}
}
}
// 输出每句话中的单词个数
for (int i = 0; i < 4; i++) {
cout << "第" << i + 1 << "句话中的单词个数为:" << count[i] << endl;
}
return 0;
}
```
这段程序使用了一个二维字符数组s,存储了四句话。然后使用一个一维数组count,统计每句话中的单词个数。在统计单词个数时,我们使用了一个变量in_word来标记当前是否在单词中,如果遇到空格、制表符或换行符,则将in_word设为false,表示不在单词中;如果遇到一个新的字符,并且之前不在单词中,则将in_word设为true,并且将该句话的单词计数器count加1。最后输出每句话中的单词个数。