4. 编写一个程序,要求用户输入一个字符串。使用C++的string类和vector类来存储字符串中的整数。程序应该将输入的字符串分割成整数,并将这些整数存储在vector中。然后,计算并输出vector中所有整数的平均值、最大值和最小值。
时间: 2024-03-15 09:43:50 浏览: 56
cPP.zip_cpp字符串乘法
好的,我会为您提供一个C++程序来实现这个任务。以下是代码:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main() {
string input;
cout << "请输入一个字符串,其中包含整数:" << endl;
getline(cin, input);
vector<int> nums;
istringstream iss(input);
string token;
while(getline(iss, token, ' ')) {
int num;
try {
num = stoi(token);
nums.push_back(num);
} catch(invalid_argument& e) {
// 如果不是整数,则忽略该项
}
}
int sum = 0;
int max_num = INT_MIN;
int min_num = INT_MAX;
for(int num : nums) {
sum += num;
max_num = max(max_num, num);
min_num = min(min_num, num);
}
double avg = (double)sum / nums.size();
cout << "所有整数的平均值为:" << avg << endl;
cout << "所有整数的最大值为:" << max_num << endl;
cout << "所有整数的最小值为:" << min_num << endl;
return 0;
}
```
在这个程序中,我们使用 `getline()` 函数从标准输入中读取一个字符串。然后,我们使用 `istringstream` 类将该字符串分割成单个数字,并将它们存储在 `vector` 数组中。
接下来,我们使用一个简单的循环来遍历 `vector` 数组中的所有数字,并计算它们的总和、最大值和最小值。最后,我们计算平均值并将所有三个值打印到控制台上。
希望这个程序对您有帮助!
阅读全文