为了账号安全,请及时绑定邮箱和手机立即绑定

这样写可以吗,为什么不显示结果

#include <stdio.h>

#define N 10

int totalscore(int score[])

{

       int i,sum;

       sum=0;

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

       {

           sum+=score[i];

       }

       return sum;

}

int maxscore(int score[])

{

    int i,maxscore;

    maxscore=0;

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

    {

        if(score[i]>score[i+1])

        {

            maxscore=score[i];

        }

    }

    return maxscore;

}


int averagescore(int score[])

{

    int averagescore;

    averagescore=0;

    averagescore= totalscore(score)/10;

    return averagescore;

}


int sortscore(int score[])

{

   int i,j,temp;

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

   {

       for(j=0;j<=i;j--)

       {

           if(score[j]<score[j+1])

           {

               temp=score[j+1];

               score[j+1]=score[j];

               score[j]=temp;

           }

       }

   }

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

    {

        if(i!=9)

        {

            printf("%d, \n",score[i]);

        }

        else

        {

            printf("%d\n",score[i]);

        }

    }

    return score[i];

}



int main()

{

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

    printf("考试成绩总分为:%d\n",totalscore(score));

    printf("考试最高分为:%d\n",maxscore(score));

    printf("考试平均分为:%d\n",averagescore(score));

    printf("考试成绩降序排序之后:%d\n",sortscore(score));

    return 0;

}

这样写有问题吗,为什么不显示啊

正在回答

3 回答

#include <stdio.h>

int sum(int score[])

    {int i,a=0;

        for(i=0;i<10;i++){

       a+=score[i]; 

         }

    

    printf("班级考试总分是:%d\n",a);

    return 0;

    }

int max(int score[])

    {int j,b;b=score[0];

        for(j=0;j<10;j++){

       if(score[j]>b){b=score[j];} 

         }

    

    printf("班级考试最高分是:%d\n",b);

    return 0;

    }

int min(int score[])

    {int k,c;c=score[0];

        for(k=0;k<10;k++){

       if(score[k]<c){c=score[k];} 

         }

    

    printf("班级考试最低分是:%d\n",c);

    return 0;

    }

int avg(int score[])

    {int m;double s,d;s=0.0;

        for(m=0;m<10;m++){

          s+=score[m];  

        }

    d=s/10;

    printf("班级考试平均分是:%lf\n",d);

    return 0;

    }

int say(int score[])

    {int i,j,temp;

      for(i=8;i>=0;i--)

      {for(j=0;j<=i;j++)

        {

        if(score[j]<score[j+1]) 

          {temp=score[j];

           score[j]=score[j+1];

           score[j+1]=temp;  

           }

        

        }

          

      }

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

      {if(i!=9){printf("%d,",score[i]);} 

    else {printf("%d",score[i]);}

    

      }

    return 0;

    }

int main()

{

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

    sum(score);

    max(score);

    min(score);

    avg(score);

    say(score);  

    return 0;

}


0 回复 有任何疑惑可以回复我~
for(i=0;i<10;i++)
   {
       for(j=0;j<10-i;j++)
       {
           if(score[j]>score[j+1])
           {
               temp=score[j+1];
               score[j+1]=score[j];
               score[j]=temp;
           }
       }
   }

冒泡写错了。。写了升序,自己举一反三改回降序吧,ps:最后遍历那里直接调用函数不更好吗

0 回复 有任何疑惑可以回复我~
#1

黑夜中的殇 提问者

我试试
2015-03-05 回复 有任何疑惑可以回复我~
#2

黑夜中的殇 提问者

按照你说的改了貌似还是不应
2015-03-05 回复 有任何疑惑可以回复我~
#3

黑夜中的殇 提问者

好了 找到原因了
2015-03-05 回复 有任何疑惑可以回复我~
#4

黑夜中的殇 提问者

谢谢了
2015-03-05 回复 有任何疑惑可以回复我~
查看1条回复

用c++试试

0 回复 有任何疑惑可以回复我~
#1

黑夜中的殇 提问者

额,为什么c不行啊
2015-03-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这样写可以吗,为什么不显示结果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信