C语言实现从键盘输入若干个学生的成绩,输入负数时表示输入结束,输出平均成绩和低于平均分的学生成绩,其中平均值精确到小数点后两位
时间: 2023-12-15 12:04:08 浏览: 150
从键盘输入一批学生的成绩计算平均分。-c语言编程基础课件 (第六章 循环 ppt)
下面是一个C语言实现从键盘输入若干个学生的成绩的示例代码:
```c
#include <stdio.h>
int main() {
int n = 0; // 学生人数
float sum = 0; // 总成绩
float avg = 0; // 平均成绩
float score; // 成绩
float *scores; // 成绩数组
printf("请输入学生成绩,输入负数时表示输入结束:\n");
// 动态分配数组空间
scores = (float*)malloc(sizeof(float));
// 循环读入成绩
while (1) {
scanf("%f", &score);
if (score < 0) {
break;
}
n++; // 学生人数加一
sum += score;
scores = (float*)realloc(scores, n * sizeof(float)); // 扩展数组空间
scores[n - 1] = score;
}
// 计算平均成绩
avg = sum / n;
// 输出平均成绩
printf("平均成绩为:%.2f\n", avg);
// 输出低于平均分的学生成绩
printf("低于平均分的学生成绩为:");
for (int i = 0; i < n; i++) {
if (scores[i] < avg) {
printf("%.2f ", scores[i]);
}
}
// 释放数组空间
free(scores);
return 0;
}
```
该程序首先读入若干个学生的成绩,输入负数时表示输入结束。然后计算平均成绩,输出平均成绩和低于平均分的学生成绩。其中平均值精确到小数点后两位。
阅读全文