问答详情
源自:6-12 综合练习

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

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

}

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

提问者:黑夜中的殇 2015-03-05 11:15

个回答

  • 我的仰视30
    2015-03-29 16:38:22

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

    }


  • lymo
    2015-03-05 14:20:05

    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:最后遍历那里直接调用函数不更好吗

  • ___流浪
    2015-03-05 11:20:09

    用c++试试