C语言 有5个学生的信息(包括学号、姓名、成绩),要求按照成绩的高低顺序输出各学生的信息

#include <stdio.h>
struct Student{
    
    
	int num;
	char name[20];
	float score;
};
int main(){
    
    
	struct Student stu[5]={
    
    {
    
    10101,"Zhang",78},{
    
    10103,"Wang",98.5},{
    
    10106,"Li",86},{
    
    10108,"Ling",73.5},{
    
    10110,"Sun",100}};
	struct Student temp;
	int n=5;
	int i,j,k;
	printf("由高到低排名:\n");
	for(i=0;i<n-1;i++){
    
    
		k=i;
		for(j=i+1;j<n;j++)
			if(stu[j].score>stu[k].score)
				k=j;
			temp=stu[k];
			stu[k]=stu[i];
			stu[i]=temp;
	}
	for(i=0;i<n;i++)
		printf("%d%8s%8.2f\n",stu[i].num,stu[i].name,stu[i].score);
	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Aiden51/article/details/127281265