用指针求输入若干个学生成绩中最高分
时间: 2024-03-01 18:50:43 浏览: 22
好的,针对您的问题,可以使用以下的代码来实现:
```c
#include <stdio.h>
int main() {
int n; // 学生人数
printf("请输入学生总人数:");
scanf("%d", &n);
double* scores = (double*)malloc(n * sizeof(double)); // 动态分配内存
double max_score = 0.0; // 初始化最高分为0
// 输入每个学生的成绩,并找出最高分
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%lf", &scores[i]);
if (scores[i] > max_score) {
max_score = scores[i];
}
}
// 输出最高分
printf("最高分为:%.2f\n", max_score);
free(scores); // 释放动态分配的内存
return 0;
}
```
这个程序中,我们首先通过 `scanf` 函数获取学生人数 `n`,然后根据学生人数动态地分配了一个 `double` 类型的数组 `scores`。接下来,我们通过 `for` 循环获取每个学生的成绩,并且每次输入成绩时都会与当前最高分比较,如果当前输入的成绩比最高分还高,那么就更新最高分。最后,我们输出最高分,并释放动态分配的内存。
希望这个回答对您有所帮助!