C语言编程。定义一结构体数组

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:20:00
定义一结构体数组,从终端输入50个学生的基本情况,包括学号(XH),姓名(XM),籍贯(JG)和成绩(CJ)。要求按每个学生的成绩由高到低排序输出。

DEV C++下运行成功

#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char XH[100];
char XM[100];
char JG[100];
float CJ;
}student;

void paixu(student stu[],int n)
{
int t,j=0;
while(j<n)
{
for(int i=j+1;i<n;i++)
{
if(stu[i].CJ>stu[j].CJ)
{
t=stu[i].CJ;
stu[i].CJ=stu[j].CJ;
stu[j].CJ=t;
}
}
printf("\n%s\t%s\t%s\t%f",stu[j].XH,stu[j].XM,stu[j].JG,stu[j].CJ);
j++;
}
}

int main()
{
int n,i;
printf("请输入学生总人数N:");
scanf("%d",&n);
student stu[n];
for(i=0;i<n;i++)
{
getchar();
printf("\n请输入学生%d的学号:",i+1);
gets(stu[i].XH);