使用结构体数组,将下列学生的数据按分数(由小到大)排序后显示到屏幕上。

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:28:04
学生记录由学号、姓名、分数组成(学号、分数都为整数),使用结构体数组,将下列学生的数据按分数(由小到大)排序后显示到屏幕上。(学生数据可以直接在程序中定义,或者从键盘录入)

#include<stdio.h>
#include<stdlib.h>
struct a{
char name[10];
char no[10];
int grade;
};
void sort(struct a []);
main()
{
struct a b[3]={{"a","001",56},{"b","002",34},{"c","003",23}};
int i;
sort(b);
for(i=0;i<=2;i++)
printf("%s,%s,%d\n",b[i].name,b[i].no,b[i].grade);

system("pause");
return 0;
}
void sort(struct a m[3])
{
int i,pass;
struct a temp;
for(pass=1;pass<=2;pass++)
for(i=0;i<=1;i++)
if(m[i].grade>m[i+1].grade)
{
temp=m[i];
m[i]=m[i+1];
m[i+1]=temp;
}
}
信息没有读入,直接赋的值
把分给我吧,我缺分
以后一问题共同交流,我也刚学

#include<stdio.h>
#include<string.h>
#define M 4 /*有M个学生的资料*/
struct student
{
int num;