8.6 参考例 8.7 程序中的函数 ReadScore()和 FindMax(),从键盘输入某班学生某课的成绩和学号(最多不超过 40人),当输入为负值时,表示输入结束,用函数编程通返回数组中最大元素的下标,查找并输出成绩的最高分及其对应的学生学号
#include<stdio.h>
#define N 40
int ReadScore(long int number[],int score[]);
int FindMax(int score[],int n);
int main(void)
{
int score[N],pos,n;
long int number[N];
n=ReadScore(number,score);
pos = FindMax(score,n);
printf(" Total students are %d\n",n);
printf("The highest score is %ld,score is %d",number[pos],score[pos]);
return 0;
}
int ReadScore(long int number[],int score[])
{
int i = -1;
do{
i++;
scanf("%ld",&number[i]);
scanf("%d",&score[i]);
}while(number[i]>=0&&score[i]>=0);
return i;
}
int FindMax(int score[],int n)
{
int maxpos=0,i;
for(i =1;i < n;i++)
{
if(score[i]<score[maxpos])
maxpos = i;
}
return maxpos;
}