用c语言输入n个人的成绩,输出比平均分少的人的个数
时间: 2024-09-30 15:06:07 浏览: 19
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
在 C 语言中,你可以通过以下步骤来实现这个功能:
1. **输入数据**:
首先,你需要创建一个数组来存储 n 个人的成绩,并要求用户依次输入每个人的分数。可以使用循环结构,如 for 或 while 循环。
```c
#include <stdio.h>
double sum = 0; // 初始化成绩总和
int count = 0; // 初始化低于平均分的人数
void input_scores(int n) {
double scores[n];
for (int i = 0; i < n; i++) {
scanf("%lf", &scores[i]);
sum += scores[i]; // 累加分数
count++; // 每输入一次就增加人数
}
}
```
2. **计算平均分**:
输入完所有成绩后,除以人数得到平均分。
```c
double average_score() {
return sum / count;
}
```
3. **检查并输出结果**:
对于每个人的成绩,判断是否低于平均分,如果是,则统计人数。
```c
void output_below_average(double* scores, int n, double avg) {
for (int i = 0; i < n; i++) {
if (scores[i] < avg) {
printf("第 %d 个人的成绩 %.2f 少于平均分 %.2f\n", i+1, scores[i], avg);
count++;
}
}
}
int main() {
int n;
printf("请输入学生人数:");
scanf("%d", &n);
input_scores(n);
double avg_score = average_score();
output_below_average(scores, n, avg_score);
printf("低于平均分的学生有 %d 人。\n", count);
return 0;
}
```
阅读全文