读入 n 个人的成绩,输出比平均分少的人的个数。 输入格式 输入格式: 第一行: n , n < = 100 n,n<=100 第二行: n n 个由空格隔开的整数。 输出格式 输出格式: 一个整数 m,表示低于平均分的人数。
时间: 2024-10-07 16:03:07 浏览: 25
C语言格式化输入输出函数详解
5星 · 资源好评率100%
这是一个简单的C程序,用于读取n个人的成绩,并计算低于平均分的人数。下面是一个例子:
```c
#include <stdio.h>
#include <stdlib.h> // 包含浮点数操作,如求平均
#define MAX_N 100
// 读取成绩函数
void read_scores(int* scores, int n) {
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
}
// 计算平均分和人数
int calculate_average_and_below(int scores[], int n) {
float sum = 0;
for (int i = 0; i < n; i++) {
sum += scores[i];
}
float avg = sum / n;
int below_avg_count = 0;
for (int i = 0; i < n; i++) {
if (scores[i] < avg) {
below_avg_count++;
}
}
return below_avg_count;
}
int main() {
int n;
scanf("%d", &n);
// 检查n是否在允许范围内
if (n > MAX_N) {
printf("Error: Number of students exceeds the limit.\n");
return 1;
}
int* scores = malloc(n * sizeof(int)); // 分配内存存储成绩
read_scores(scores, n);
int below_avg_count = calculate_average_and_below(scores, n);
free(scores); // 释放内存
printf("%d\n", below_avg_count);
return 0;
}
```
当用户输入满足条件的n和分数后,这个程序会计算平均分并找出低于平均分的学生数。如果输入的n超过100,程序会返回错误信息。
阅读全文