用C++写一个输入10个值,去掉最大和最小的两个数 求平均值
时间: 2024-03-17 12:43:14 浏览: 24
好的,下面是这个问题的 C++ 实现:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
const int kNumValues = 10; // 数值个数
vector<int> values(kNumValues);
for (int i = 0; i < kNumValues; i++) {
cin >> values[i];
}
sort(values.begin(), values.end()); // 排序
int sum = 0;
for (int i = 1; i < kNumValues - 1; i++) {
sum += values[i];
}
double average = sum * 1.0 / (kNumValues - 2); // 去掉最大值和最小值后的平均值
cout << average << endl;
return 0;
}
```
程序首先读入十个数值。然后将这些数值排序,去掉最大值和最小值,计算剩余数值的和,再除以总数减二,得到去掉最大值和最小值后的平均值。最后别忘了换行。
相关问题
使用C++输入20个数,求其最大、最小和平均值
好的。
在 C 语言中,要输入 20 个数,求其最大、最小和平均值,可以这样做:
1. 在程序中声明三个变量,分别用来存储最大值、最小值和平均值,例如:
```
int max, min, sum;
float avg;
```
2. 使用循环语句,依次输入 20 个数,并在输入过程中进行判断。每次输入一个数时,将该数和当前的最大值进行比较,如果该数大于最大值,就将最大值更新为该数;将该数和当前的最小值进行比较,如果该数小于最小值,就将最小值更新为该数。同时,将所有输入的数累加到变量 sum 中。
3. 在循环结束后,计算平均值,即将 sum 除以 20 得到的结果。
4. 最后,输出最大值、最小值和平均值。
下面是一个例子:
```
#include <stdio.h>
int main()
{
int max, min, sum;
float avg;
int i, num;
printf("输入 20 个数:\n");
// 输入第一个数,并将其赋值给 max 和 min
scanf("%d", &num);
max = min = num;
sum = num;
// 从第二个数开始输入
for (i = 2; i <= 20; i++) {
scanf("%d", &num);
// 比较并更新最大值和
使用C++语言输入m个数,求其最大数、最小数和平均值
以下是使用 C 语言实现输入 m 个数,求其最大数、最小数和平均值的代码:
```c
#include <stdio.h>
int main() {
int m, i, num;
int max, min, sum;
float avg;
printf("请输入数字的个数 m:");
scanf("%d", &m);
printf("请输入这 %d 个数字:", m);
scanf("%d", &num);
max = min = sum = num;
for (i = 2; i <= m; i++) {
scanf("%d", &num);
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
sum += num;
}
avg = (float) sum / m;
printf("最大数为:%d\n", max);
printf("最小数为:%d\n", min);
printf("平均值为:%.2f\n", avg);
return 0;
}
```
运行代码后,程序会要求输入数字的个数 m,然后输入 m 个数字,程序会自动计算出这些数字的最大值、最小值和平均值,并输出到屏幕上。