从键盘输入某班学生某门课的成绩(每班人数最多不超过30人,具体人数由键盘输入),按如下函数原型,用指针做函数参数编写函数FindMax()计算最高分及相应学生的学号返回给主函数,然后在主函数中输出最高分及相应学生的学号。 void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum); **输入提示信息: 输入学生人数的提示信息为"How many students?" 输入学号和成绩的提示信息为"Input student’s ID and score:\n" **输入数据格式:输入学生人数用"%d", 输入学号和成绩用"%ld%d" **输出提示信息和数据格式:"maxScore = %d, maxNum = %ld\n" 按如下框架编写程序: #include <stdio.h> #define N 30 void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum); main() { } /* 函数功能:计算最高分及其相应学生的学号 */ void FindMax(int score[],long num[],int n,int *pMaxScore,long *pMaxNum) { }
时间: 2024-01-22 14:19:36 浏览: 65
从键盘输入名学生的高数成绩-C语言与程序设计
完整代码如下:
```
#include <stdio.h>
#define N 30
void FindMax(int score[], long num[], int n, int *pMaxScore, long *pMaxNum);
int main() {
int n, scores[N];
long nums[N];
int maxScore;
long maxNum;
printf("How many students? ");
scanf("%d", &n);
printf("Input student's ID and score:\n");
for (int i = 0; i < n; i++) {
scanf("%ld%d", &nums[i], &scores[i]);
}
FindMax(scores, nums, n, &maxScore, &maxNum);
printf("maxScore = %d, maxNum = %ld\n", maxScore, maxNum);
return 0;
}
/* 函数功能:计算最高分及其相应学生的学号 */
void FindMax(int score[], long num[], int n, int *pMaxScore, long *pMaxNum) {
*pMaxScore = score[0];
*pMaxNum = num[0];
for (int i = 1; i < n; i++) {
if (score[i] > *pMaxScore) {
*pMaxScore = score[i];
*pMaxNum = num[i];
}
}
}
```
输入学生人数后,程序会提示输入学生的学号和成绩,依次输入即可。程序会调用 `FindMax` 函数计算最高分及其对应学生的学号,然后输出结果。
阅读全文