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

我写的这个是不是有点繁琐呀

#include <stdio.h>

int n=10;

int sumScore(int score[]){

    int i=0;

    int sum=0;

    for(i;i<n;i++)

    {

        sum+=score[i];

    }

    //printf("成绩之和为:%d\n",sum);

    return sum;

}

double avrScore(int score[]){

    double avr=sumScore(score)/n;

    //printf("平均成绩为:%1.2f\n",avr);

    return avr;

}

int B_S(int score[]){

    int i,j;

    for(j=8;j>=0;j--){

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

        if(score[i]<score[i+1]){

          int temp;

          temp=score[i];

          score[i]=score[i+1];

          score[i+1]=temp;

        }

    }

    }

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

    {

        printf("第%d名:%d\n",(i+1),score[i]);

    }

    return 0;

    

}

int bigScore(int score[]){

   int i,j;

    for(j=8;j>=0;j--){

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

        if(score[i]<score[i+1]){

          int temp;

          temp=score[i];

          score[i]=score[i+1];

          score[i+1]=temp;

        }

    }

    }  

    

   return score[0]; 

   

}

int smallScore(int score[]){

    int i,j;

    

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

        if(score[i]<score[i+1]){

          int temp;

          temp=score[i];

          score[i]=score[i+1];

          score[i+1]=temp;

        

         }

    } 

    return score[n-1];

}


int main()

{

   

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

    printf("总成绩为:%d\n",sumScore(score));

    printf("平均成绩为:%1.2f\n",avrScore(score));

    printf("最高成绩:%d\n",bigScore(score));

    printf("最低成绩:%d\n",smallScore(score));

    printf("成绩排名情况:\n");

    B_S(score);

    return 0;

}


正在回答

3 回答

= =..确实有点。。。

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

paddy 提问者

怎么改善下。。。
2015-02-08 回复 有任何疑惑可以回复我~
#2

Fiona0126 回复 paddy 提问者

最高分和最低分没必要排序。。另外也可以调整排序的位置。这样可以很快的找出max和min。。有兴趣的话看一下我的代码。仅供参考= =。
2015-02-08 回复 有任何疑惑可以回复我~
#3

侠客岛的含笑 回复 Fiona0126

int cmp(const void *a,const void *b){ return *(int*)b - *(int*)a; }这个我看不懂,姐姐能指点一二吗??
2016-02-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我写的这个是不是有点繁琐呀

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