成绩排序(10分)

题目内容:

从键盘输入3个同学4门课的成绩,将其按平均分从高到低排序输出。

输入格式:

输入3个同学4门课的成绩

输出格式:

按平均分从高到低排序输出

输入样例:

89 78 80 76 88 78 75 90 99 92 100 89[回车]

输出样例:

99,92,100,89[回车]

88,78,75,90[回车]

89,78,80,76[回车]
时间限制:500ms内存限制:32000kb

#include<stdio.h>
#include <string.h>
int main(){
int a[4][5];//数组初始化i,j定义的是行和列(大小),从1开始,输入从0开始。
float avg,sum;
int i,j;
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=3;i++){
sum=0;
for(j=1;j<=4;j++){
sum+=a[i][j];
}
a[i][0]=sum/4;
}

int b[5];
for(i = 1; i ❤️; i ++)
{
for(j = 3; j>i; j --)
{
/* 冒泡排序,把最小的放到最后 */
if (a[j-1][0]<a [j][0])
{
memcpy(b,a[j-1], sizeof(b));
memcpy(a[j-1], a[j], sizeof(b));
memcpy(a[j], b, sizeof(b));
}
}
}
for(i=1;i<=3;i++){
for(j=1;j<=4;j++){
if(j<4)
printf("%d,",a[i][j]);
else
printf("%d\n",a[i][j]);
}

}
}

发布了8 篇原创文章 · 获赞 0 · 访问量 1215

猜你喜欢

转载自blog.csdn.net/qq_42695315/article/details/90347846