用c语言编写,有n个同学的信息(包括学号,姓名,成绩)要求按照成绩从高到低排序输出各个同学信息(尽可能容易读懂))
时间: 2023-06-03 11:06:05 浏览: 189
好的,这个问题是关于编程的,我可以为您解答。以下是一个简单的 C 语言程序来实现按照成绩从高到低排序输出同学信息的功能:
```
#include <stdio.h>
#include <string.h>
struct Student{
int num; //学号
char name[20]; //姓名
float score; //成绩
};
int main()
{
int n,i,j;
struct Student stu[50],temp; //用结构体存储同学信息
printf("请输入同学个数:");
scanf("%d",&n);
printf("请依次输入每个同学的学号、姓名、成绩:\n");
for(i=0;i<n;i++)
{
scanf("%d%s%f",&stu[i].num,stu[i].name,&stu[i].score);
}
//按照成绩从高到低冒泡排序
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(stu[j].score<stu[j+1].score)
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
//输出排序后的同学信息
printf("排序后的同学信息为:\n");
printf("学号\t姓名\t成绩\n");
for(i=0;i<n;i++)
{
printf("%d\t%s\t%.2f\n",stu[i].num,stu[i].name,stu[i].score);
}
return 0;
}
```
希望我的回答能够帮助到您,如有其他问题,欢迎继续咨询。