#include #include #include

using namespace std;

int main() { int n; cin >> n;

vector<int> heights(n);
int sum = 0;
for (int i = 0; i < n; i++) {
    cin >> heights[i];
    sum += heights[i];
}

float average = static_cast<float>(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;

}

代码解析

  1. 输入全家成员身高:
    • 使用 cin >> n 输入全家成员人数 n
    • 使用 vector<int> heights(n) 创建一个大小为 n 的向量 heights,用于存储每个成员的身高。
    • 使用循环 for (int i = 0; i < n; i++) 输入每个成员的身高,并累加到 sum 中。
  2. 计算平均身高:
    • 使用 float average = static_cast<float>(sum) / n 计算平均身高,并将其保存在 average 中。
    • 使用 cout << "AVE=" << fixed << setprecision(1) << average << endl 输出平均身高,保留一位小数。
  3. 输出超过平均身高的人:
    • 使用循环 for (int i = 0; i < n; i++) 遍历所有成员身高。
    • 使用 if (heights[i] > average) 判断每个成员身高是否大于平均身高。
    • 如果大于平均身高,则输出成员序号 i + 1 和身高 heights[i]

示例

输入:

7
175 160 172 158 178 162 142

输出:

AVE=163.9
1:175 3:172 5:178
C++ 找出身高超过全家平均身高的人 - 代码解析

原文地址: https://www.cveoy.top/t/topic/qjBS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录