C++编程练习:找出身高超过全家人平均身高的人
题目描述
找找谁的身高超过全家的平均身高。全家n口人,输入输出数据如下: (平均身高保留一位小数)
输入描述
第一行有一个整数n( 1 < n < 11 )。第二行是n个整数,用空格隔开。
输出描述
第一行为全家的平均身高(保留一位小数);第二行有若干个数,为超过平均身高的人的身高厘米数。
用例输入 1
7 175 160 172 158 178 162 142
用例输出 1
AVE=163.9 1:175 3:172 5:178
解题思路
- 首先读入全家成员的个数n和每个成员的身高。
- 计算全家的平均身高,保留一位小数。
- 遍历所有成员的身高,如果身高大于平均身高,则输出该成员的身高。
代码如下
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> heights(n);
// 读入每个成员的身高
for (int i = 0; i < n; i++) {
cin >> heights[i];
}
// 计算全家的平均身高
double sum = 0;
for (int i = 0; i < n; i++) {
sum += heights[i];
}
double average = sum / n;
// 输出全家的平均身高
cout << "AVE=" << fixed << setprecision(1) << average << endl;
// 输出超过平均身高的人的身高
for (int i = 0; i < n; i++) {
if (heights[i] > average) {
cout << i + 1 << ":" << heights[i] << " ";
}
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qjA6 著作权归作者所有。请勿转载和采集!