想知道哪里错了,数组




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;
}

img


想知道哪里错了

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;


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^