问答详情
源自:5-5 函数的返回值

自己编辑函数的问题

编写main(), 在main里调用两个自定义函数ReadScore和Sort,以完成数组元素的输入和排序工作。
ReadScore(参数自己思考):输入若干同学的成绩。
Sort(参数自己思考): 将同学们的成绩按照由大到小的顺序排序,请用冒泡法。
最后要求打印出同学们成绩的排序结果。

提问者:远山近田 2018-05-27 15:32

个回答

  • 愿此心永不移
    2018-06-03 13:32:10

    #include <stdio.h>#include <stdlib.h>#define N 10int cmp(const void *a,const void *b){    return *(int*)b - *(int*)a;}int Sum(int score[]){    int s = 0,i;    for(i = 0 ; i < N ; i++)        s += score[i];    return s;}int Max(int score[]){    return score[0];}int Min(int score[]){    return score[N-1];}double Avg(int s){    return (s + 0.0) / N;}int main(){    int score[N]={67,98,75,63,82,79,81,91,66,84};    int i,sum;    sum = Sum(score);    qsort(score,N,sizeof(int),cmp);//sort it    printf("Total score : %d\n",sum);    printf("Max score : %d\n",Max(score));    printf("Min Score : %d\n",Min(score));    printf("Average score : %f\n",Avg(sum));    printf("\n成绩排序:\n");    for(i = 0 ; i < N ; i++)    {        printf("Rank %d's score : %d\n",i+1,score[i]);    }    return 0;}