#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;}
1 回答
已采纳
MinRam
TA贡献87条经验 获得超24个赞
#include <stdio.h> #include <stdlib.h> #define N 10 int cmp(const void *a,const void *b){ // qsort库函数的自定义比较函数参数。 return *(int*)b - *(int*)a; // 即进行快速排序时候,比较两个元素的先后顺序。 } // 详情可以看下qsort库函数的参数介绍(百度) 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); // 借用库函数快速排序,进行数组排序。 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; }
- 1 回答
- 0 关注
- 995 浏览
添加回答
举报
0/150
提交
取消