C语言程序改错:学生信息排序
#include <stdio.h>
#define N 6
struct Student{
int No; /学号/
char Name[10]; /姓名/
int Score; /成绩/
};
void sort(struct Student *,int);
void show(struct Student *,int);
int main()
{
struct Student stu[N]={{14461,"Zhang",78},{12213,"Wang",98},{13171,"Li",86},
{14158,"Ling",73},{14239,"Fun",100},{13211,"Qian",60}};
printf("排序前:\n");
show(stu,N);
sort(stu,N);
printf("排序后:\n");
show(stu,N);
return 0;
}
void sort(struct Student stu[],int n)
{
int i,j,k;
struct Student temp;
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;
}
}
void show(struct Student stu[],int n) { int i; for(i=0;i<n;i++) printf("%6d %10s %6d\n",stu[i].No,stu[i].Name,stu[i].Score); printf("\n"); }
原文地址: https://www.cveoy.top/t/topic/pbl9 著作权归作者所有。请勿转载和采集!