#include <stdio.h> #define N 10 int sum(int score[]) //计算总分 { int i; int s = 0; if(i=0,i<N,i++) { s+=score[i]; } return s; } int va(int score[]) //计算平均分 { return sum(score)/N; } void des(int score[]) //降序排列 { int i,j; for(i=N-2;i>=0;i--) { for(j=0;j<=i;j++) { if(score[j]<score[j+1]) { int temp; temp=score[j]; score[j]=score[j+1]; score[j+1]=temp; } } } for(i=0;i<N;i++) { printf("%d",score[i]); } printf("\n"); } int max(int score[]) //最大值 { int j,m; for(j=0;j<=N-2;j++) { if(score[j]>score[j+1]) { score[j+1]=score[j]; m=score[j+1]; } } return m; } int min(int score[]) //最小值 { int j,n; for(j=0;j<=N-2;j++) { if(score[j]<score[j+1]) { score[j+1]=score[j]; n = score[j+1]; } } return n; } int main() { int score[N]={67,98,75,63,82,79,81,91,66,84}; int s,v,mx,mn; s=sum(score); v=va(score); mx=max(score); mn=min(score); printf("考试总分:%d\n",s); printf("考试平均分:%d\n",v); printf("考试成绩最高分:%d\n",mx); printf("考试成绩最低分:%d\n",mn); printf("考试成绩降序排列:\n"); des(score); return 0; }
看错了0.0
排序那错了,我也新手,看着比较累。就不改了。用的冒泡的话是两层for循环里边再交换。你写了一层不说,而且交换的也不对。
我帮降序排列代码单独拿出来,输出结果合适
总分和平均值 是我用错了循环语句,应该用for;
但是排序是怎么回事