求大神帮忙解答

来源:6-12 综合练习

枸杞酒

2018-07-10 16:18

#include <stdio.h>

#define N 10

int so(int score[])

{

   int sum =0;

   int i;

   for(i=0;i<=N;i++)

   {

       sum+=score[i];

   }

   return sum;

}

int why(int score[])

{

    

    int max=-1;

    int i;

    for(i=0;i<N;i++)

    {

      if(score[i]>max)

      {

          max=score[i];

      }

      return max;

    }

}

int main()

{

    int score[N]={67,98,75,63,82,79,81,91,66,84};

    int sum,max;

    sum=so(score); 

    max=why(score);

    printf("总分是:%d\n",sum);

    printf("最高分:%d\n",max);

    return 0;

}

为什么出来的结果不对

写回答 关注

1回答

  • Adws
    2018-07-11 11:24:46

    在so函数里for循环的判断条件i<=N改为i<N。在why函数里,return max在for循环里,也就是说for执行一次就返回函数值,调用函数就结束了,应把return max放在for循环外。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题