int ReadScore(int score[], long num[]);
int FindMax(int score[], int n);
int main(void)
{
int score[40], maxNum, n;
long num[40];
n = ReadScore(score, num);
/* 输入成绩,返回学生人数 */
printf("Total students are %d\n", n);
maxNum = FindMax(score, n);
/* 计算并返回最高分所在数组的下标 */
printf("%ld %d\n", num[maxNum], score[maxNum]);
return 0;
}
int ReadScore(int score[], long num[])
{
int i=-1;
do
{
scanf("%d %d",&score[i],&num[i]);
i++;
}
while(score[i]>=0&&num[i]>=0);
return i;
}
int FindMax(int score[], int n)
{
int flag=0;
for(int i=0;i0;
if(score[i]<=score[i+1])
{
flag=i+1;
}
}
return flag;
}

想知道哪里错了
int FindMax(int score[], int n)
{
int maxid = 0;
for(int i=0;i<n;i++)
{
if(score[i]>score[maxid])
{
maxid = i;
}
}
return maxid;
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^