读入n(1 <= n <= 1000)个学生的成绩,成绩都为整数,用指针函数求出若干个学生成绩的最高分。用数组名作为函数参数,指针作为函数返回值。
时间: 2024-05-01 16:19:05 浏览: 84
输入一批学生成绩,求出最高分.exe
下面是一种实现方式:
```c
#include <stdio.h>
int* findMax(int* arr, int n) {
int* max = arr; // 假设第一个元素为最大值
for (int i = 1; i < n; i++) {
if (*(arr + i) > *max) { // 如果当前元素比最大值大
max = arr + i; // 更新最大值指针
}
}
return max; // 返回最大值指针
}
int main() {
int n;
printf("请输入学生人数:");
scanf("%d", &n);
int scores[n];
printf("请输入学生成绩:");
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
int* max = findMax(scores, n);
printf("最高分为:%d\n", *max);
return 0;
}
```
这里定义了一个 `findMax` 函数,接受一个整型数组和数组长度作为参数,返回最大值指针。在 `main` 函数中,先读入学生人数和成绩,然后调用 `findMax` 函数,输出最高分。
阅读全文