n 个数存入数组,求这些数的平均值,保留两位小数(c++)
时间: 2023-07-01 17:09:59 浏览: 325
可以使用以下代码计算平均值并保留两位小数:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n;
double sum = 0.0, avg;
cin >> n;
double arr[n];
for(int i = 0; i < n; i++) {
cin >> arr[i];
sum += arr[i];
}
avg = sum / n;
cout << fixed << setprecision(2) << avg << endl;
return 0;
}
```
首先读入数组的长度 `n`,并声明一个长度为 `n` 的数组 `arr`。然后用循环读入 `n` 个数,并累加它们的和到变量 `sum` 中。最后计算平均值并输出,使用 `fixed` 和 `setprecision` 控制输出小数点后的位数。
相关问题
随即产生N 个正整数(10 <Ν≤20 )存入数组 a 中,输出 a 中的最大值,最小值及求出其平均值(保留两位小数)。
好的,以下是一个能够实现上述功能的 C++ 程序示例:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int MAX_N = 20; // 数组最大长度
int main()
{
int N; // 数组长度
int a[MAX_N]; // 存储随机整数的数组
int sum = 0; // 所有数的和,用于计算平均值
double avg; // 平均值
// 设置随机数种子
srand(time(0));
// 输入数组长度 N,要求 10 < N <= 20
do
{
cout << "Please enter the length of the array (10 < N <= 20): ";
cin >> N;
} while (N <= 10 || N > 20);
// 产生 N 个随机整数并存入数组 a 中
for (int i = 0; i < N; i++)
{
a[i] = rand() % 100 + 1; // 产生 1~100 之间的随机整数
sum += a[i]; // 累加求和
}
// 计算平均值
avg = sum * 1.0 / N;
// 输出最大值、最小值、平均值
int max_num = a[0], min_num = a[0];
for (int i = 1; i < N; i++)
{
if (a[i] > max_num)
{
max_num = a[i];
}
if (a[i] < min_num)
{
min_num = a[i];
}
}
cout << "Max number: " << max_num << endl;
cout << "Min number: " << min_num << endl;
cout << "Average: " << fixed << setprecision(2) << avg << endl;
return 0;
}
```
这个程序通过 `srand(time(0))` 来设置随机数种子,然后使用 `rand() % 100 + 1` 来产生1~100之间的随机整数,并存入数组 `a` 中。然后通过遍历数组找到最大值和最小值,并计算出平均值。最后输出这三个数。
c++编程实现:产生若干个[1,100]范围内的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数、奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽为5。平均值保留两位小数。
以下是实现代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int N = 20;
int main()
{
int nums[N]; // 声明一个大小为 N 的数组
srand(time(NULL)); // 设置随机数种子
// 产生随机整数并存入数组中
for (int i = 0; i < N; i++) {
nums[i] = rand() % 100 + 1;
}
// 输出数组元素
for (int i = 0; i < N; i++) {
cout << setw(5) << nums[i];
if ((i+1) % 5 == 0) {
cout << endl;
}
}
if (N % 5 != 0) {
cout << endl;
}
// 统计奇偶数个数和平均值
int oddCount = 0, evenCount = 0;
int oddSum = 0, evenSum = 0;
for (int i = 0; i < N; i++) {
if (nums[i] % 2 == 0) {
evenCount++;
evenSum += nums[i];
} else {
oddCount++;
oddSum += nums[i];
}
}
// 输出统计结果
cout << "奇数个数:" << oddCount << endl;
if (oddCount != 0) {
cout << "奇数平均值:" << fixed << setprecision(2) << static_cast<double>(oddSum) / oddCount << endl;
}
cout << "偶数个数:" << evenCount << endl;
if (evenCount != 0) {
cout << "偶数平均值:" << fixed << setprecision(2) << static_cast<double>(evenSum) / evenCount << endl;
}
return 0;
}
```
其中,`rand()` 函数用于产生随机数,`srand()` 函数用于设置随机数种子。`setw()` 函数用于控制输出宽度,`setprecision()` 函数用于控制输出小数点后的位数。最后,`static_cast<double>` 可以将整数类型转换为浮点数类型。
阅读全文