编写程序输出学生的成绩:输入学生人数后输入每个学生的成绩,最后输出学生的平均成绩、最高成绩和最低成绩。要求使用动态内存分配来实现。c语言
时间: 2023-09-05 15:15:12 浏览: 137
好的,这是一个简单的C语言程序,用于计算学生的成绩。我会尽可能详细地解释每个步骤,让你理解这个程序是如何工作的。
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n; // 学生人数
printf("请输入学生的人数:");
scanf("%d", &n);
int* scores = (int*) malloc(n * sizeof(int)); // 动态分配内存来存储学生成绩
// 输入每个学生的成绩
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个学生的成绩:", i+1);
scanf("%d", &scores[i]);
}
// 计算平均成绩
int sum = 0;
for (int i = 0; i < n; i++) {
sum += scores[i];
}
double average = (double) sum / n;
// 查找最高成绩和最低成绩
int highest = scores[0];
int lowest = scores[0];
for (int i = 1; i < n; i++) {
if (scores[i] > highest) {
highest = scores[i];
}
if (scores[i] < lowest) {
lowest = scores[i];
}
}
// 输出结果
printf("平均成绩为:%lf\n", average);
printf("最高成绩为:%d\n", highest);
printf("最低成绩为:%d\n", lowest);
// 释放内存
free(scores);
return 0;
}
```
这个程序首先让用户输入学生人数,然后动态分配内存来存储每个学生的成绩。接下来,程序使用循环来输入每个学生的成绩,并计算所有学生成绩的总和。然后,程序计算平均成绩,查找最高成绩和最低成绩。最后,程序输出平均成绩、最高成绩和最低成绩,并释放动态分配的内存。
希望这个程序能够帮助到你!
阅读全文