读入 n 个人的成绩,输出比平均分少的人的个数。 输入格式 输入格式: 第一行: n , n < = 100 n,n<=100 第二行: n n 个由空格隔开的整数。 输出格式 输出格式: 一个整数 m,表示低于平均分的人数。 样例1
时间: 2024-09-29 13:13:17 浏览: 38
这是一个简单的程序任务,通常用于基础算法训练。你需要通过以下步骤解决这个问题:
1. **读取输入**:首先从标准输入(通常是控制台)读取两行数据。第一行是一个整数n,表示学生人数;第二行包含n个整数,表示每个学生的成绩。
2. **计算平均分**:将所有成绩加起来然后除以n,得到整个班级的平均分。
3. **比较和计数**:遍历每个学生的成绩,如果某个成绩小于平均分,就增加一个计数器m。
4. **输出结果**:最后输出计数器m,即低于平均分的学生人数。
Python 示例代码:
```python
def count_students_below_average():
n = int(input().split()[0])
scores = list(map(int, input().split()))
total_score = sum(scores)
average_score = total_score / n
below_average_count = sum(1 for score in scores if score < average_score)
print(below_average_count)
count_students_below_average()
```
相关问题
读入 n 个人的成绩,输出比平均分少的人的个数。 输入格式 输入格式: 第一行: n , n < = 100 n,n<=100 第二行: n n 个由空格隔开的整数。 输出格式 输出格式: 一个整数 m,表示低于平均分的人数。
这是一个简单的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,程序会返回错误信息。
C语言处理读入 n 个人的成绩,输出比平均分少的人的个数。 输入格式 输入格式: 第一行: n , n < = 100 n,n<=100 第二行: n n 个由空格隔开的整数。 输出格式 输出格式: 一个整数 m,表示低于平均分的人数。
在C语言中,你可以使用这样的程序结构来解决这个问题。首先,你需要从用户那里读取成绩的数量n,然后依次读取每个人的分数并计算总和。接着,通过将总和除以n得到平均分,最后遍历分数数组,统计小于平均分的个数。以下是大致的步骤:
```c
#include <stdio.h>
int main() {
int n, i;
float sum = 0, average, count = 0;
// 读取人数
scanf("%d", &n);
// 读取n个分数并累加
for (i = 0; i < n; i++) {
int score;
scanf("%d", &score);
sum += score;
}
// 计算平均分
average = (float)sum / n;
// 遍历数组,统计小于平均分的个数
for (i = 0; i < n; i++) {
if (score < average) {
count++;
}
}
// 输出结果
printf("%d\n", count); // 输出低于平均分的人数
return 0;
}
```
阅读全文