输入一组成绩,输出低于平均值的人数与分数(c语言)
时间: 2023-05-12 18:03:13 浏览: 60
好的,这是一个比较简单的问题,以下是代码:
```c
#include <stdio.h>
int main() {
int n, sum = 0, count = 0;
float avg;
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%d", &scores[i]);
sum += scores[i];
}
avg = (float)sum / n;
for (int i = 0; i < n; i++) {
if (scores[i] < avg) {
count++;
printf("第%d个学生的成绩是%d,低于平均分%.2f\n", i + 1, scores[i], avg);
}
}
printf("低于平均分的学生人数为%d\n", count);
return 0;
}
```
希望这个代码能够帮到你!
相关问题
c语言求成绩最大值最小值平均值
好的,您想要查询一组成绩的最大值、最小值和平均值,对吧?那么您可以使用C语言编写一个程序来实现,具体步骤如下:
1. 定义一个数组来存储成绩,例如:int scores[10];
2. 使用循环语句让用户输入10个成绩,例如:for (int i = 0; i < 10; i++) { scanf("%d", &scores[i]); }
3. 定义变量max、min和sum来分别存储最大值、最小值和总分数,初始化为数组中的第一个成绩,例如:int max = scores[0], min = scores[0], sum = scores[0];
4. 使用循环语句遍历数组,依次比较每个成绩与当前的最大值和最小值,同时累加总分数,例如:
for (int i = 1; i < 10; i++) { if (scores[i] > max) max = scores[i]; if (scores[i] < min) min = scores[i]; sum += scores[i]; }
5. 计算平均值并输出结果,例如:
double average = sum / 10.0; printf("最大值:%d\n最小值:%d\n平均值:%.2lf\n", max, min, average);
这样就可以求出一组成绩的最大值、最小值和平均值了。希望这个回答能够帮到您!
用C语言去掉一组数组的最高分和最低分求平均值
好的,您可以参考以下代码实现该功能:
```c
#include <stdio.h>
int main() {
int scores[] = {90, 85, 92, 88, 95, 80};
int len = sizeof(scores) / sizeof(scores[0]); // 数组长度
int max = scores[0], min = scores[0]; // 初始化最高分和最低分
int sum = 0;
// 找到最高分和最低分
for (int i = 0; i < len; i++) {
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 求和(去掉最高分和最低分)
for (int i = 0; i < len; i++) {
if (scores[i] != max && scores[i] != min) {
sum += scores[i];
}
}
// 求平均值
float avg = (float)sum / (len - 2);
printf("去掉最高分和最低分的平均值为: %.2f\n", avg);
return 0;
}
```
这段代码先找出数组中的最高分和最低分,然后再去掉这两个分数求和,最后除以数组长度减去2(去掉最高分和最低分)即可得到平均值。