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

有没有问题,这样写

#include <stdio.h>
int sum(int score[]){
    int i,sum=0;
    for(i=0;i<10;i++){
        sum+=score[i];
    }
    printf("总分:%d\n",sum);
    float avg = sum/10.0;
    printf("平均分:%f\n",avg);
}

int max(int score[]){
    int i,temp;    
    for(i=0;i<9;i++){
        if(score[i]>score[i+1]){
            temp = score[i];
            score[i] = score[i+1];
            score[i+1] = temp;
        }
    }
    printf("最高分:%d\n",temp);
}

int min(int score[]){
    int i,temp;    
    for(i=0;i<9;i++){
        if(score[i]<score[i+1]){
            temp = score[i];           
            score[i] = score[i+1];
            score[i+1] = temp;            
        }
    }
    printf("最低分:%d\n",temp);
}

int rsort(int score[]){
    int i,j,temp;  
    for(i=10;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<9;i++){
        printf("%d,",score[i]);
    }
    
}


int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    sum(score);
    max(score);
    min(score);
    rsort(score);
    return 0;
}

正在回答

2 回答

我也说个注意点:可能是你的笔误吧。冒泡排序的第一参数设置从10开始是不合理的。因为这样j的第一个值为9而a[j+1]造成访问未定义的空间。可能造成re。

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

思路不错,但是注意一点:每个函数的返回值是void类型,还有就是排序的那个函数少输出了一个。

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

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

进入课程

有没有问题,这样写

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