求任意10个数的最大、最小和平均值。(手工输入数据、随机生成两种方法)rand() % 100 表达式用于生成一个从0到99的随机整数,C++
时间: 2024-10-23 13:09:12 浏览: 10
1_1. 产生100个随机数_求其最小值和最大值以及平均值_
5星 · 资源好评率100%
在C++中,我们可以使用`<iostream>`库来获取用户手动输入的数据,使用`<vector>`来存储这10个数,并使用`<algorithm>`库中的函数来计算最大值、最小值和平均值。如果想要随机生成数据,可以利用`<random>`库配合`rand()`函数。
**手动输入数据方法:**
```cpp
#include <iostream>
#include <vector>
#include <numeric>
int main() {
std::vector<int> numbers(10);
for (int i = 0; i < 10; ++i) {
std::cout << "请输入第" << i+1 << "个数:" << std::endl;
std::cin >> numbers[i];
}
int min_num = *std::min_element(numbers.begin(), numbers.end());
int max_num = *std::max_element(numbers.begin(), numbers.end());
double average = std::accumulate(numbers.begin(), numbers.end(), 0.0) / numbers.size();
std::cout << "最小值: " << min_num << "\n";
std::cout << "最大值: " << max_num << "\n";
std::cout << "平均值: " << average << "\n";
return 0;
}
```
**随机生成数据方法:**
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main() {
std::vector<int> numbers(10);
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count()); // 使用当前时间作为随机种子
std::uniform_int_distribution<int> distribution(0, 99); // 随机范围为0到99
for (int& num : numbers) {
num = distribution(generator);
}
int min_num = *std::min_element(numbers.begin(), numbers.end());
int max_num = *std::max_element(numbers.begin(), numbers.end());
double average = std::accumulate(numbers.begin(), numbers.end(), 0.0) / numbers.size();
std::cout << "随机生成的最小值: " << min_num << "\n";
std::cout << "随机生成的最大值: " << max_num << "\n";
std::cout << "随机生成的平均值: " << average << "\n";
return 0;
}
```
阅读全文