C语言排序问题,对对应排序问题还是不太明白,以例说明吧

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:14:10
有 小A、小B、小C、小D 四个人,他们的数学成绩分别是78、85、56、64,电话分别是711、721、731、741,要求用数组赋初值的方法编程按成绩从高到低排序,输出四个人的电话、姓名、成绩及其平均成绩,列表形式。
另外输出不及格人的成绩

#include <stdio.h>
struct person
{
char name[20];
int math;
char tel[15];
};

void main()
{
int i,j;
struct person temp;
struct person a[4]={{"xiao A", 87, "771"}, {"xiao B", 85, "721"}, {"xiao C", 56, "731"}, {"xiao D", 64, "741"}};
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[i].math<a[i+1].math)
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}

for(i=0;i<4;i++)
printf("name:\t%s\nmath:\t%d\ntel:\t%s\n",
a[i].name, a[i].math, a[i].tel);
}

我可以用c++写 不过你会翻译成c不? 要是翻译不过来 我写了你也看不懂

如果会就mmm我

定义一个结构体
person{
name;
score;
tel;
}
然后根据score进行结构重排,然后该干啥干啥