定义一个5个元素的 struct student 数组,1)从键盘输入5个学生的信息。
2)按总分降序排序。
3)按语文成绩降序排序。
4)按姓名升序排序。
struct student
char name[20];
float chinese,math,english,score;
void input(struct student *s, int n)
int i;
printf("请输入%d个学生",n);
for(i=0;iscanf("%s%f%f%f",s[i].name,
s[i].chinese,&s[i].math,
s[i].english);
void output(struct student *s, int n)
int i;
for(i=0;iprintf("%s %4.2f %4.2f %4.2f",s[i].name, s[i].chinese,s[i].math,
s[i].english);
void swap(struct student *a,struct student *b)
struct student t;
/printf("a=%d,b=%d",*a,*b);
strcpy(
strcpy((*a).name ,(b).name);
*a).chinese=(*b).chinese;
*a).math=(*b).math;
*a).english=(*b).english;
*a).score=(*b).score;
strcpy((*b).name ,
*b).chinese=
*b).math=
*b).english=
*b).score=
/printf("a=%d,b=%d",*a,*b);
/按总分降序排序。
void sortbyscore(struct student *s, int n)
int i,j;
/计算每个学生的总成绩。
for(i=0;is[i].score=s[i].chinese+s[i].math+s[i].english;
/按总分降序排序,使用冒泡排序。
for(i=0;i{ for(j=0;jif(s[j].scoreswap(&s[j],&s[j+1]);
/按语文成绩降序排序。
void sortbychinese(struct student *s, int n)
int i,j;
/按语文成绩降序排序,使用冒泡排序。
for(i=0;i{ for(j=0;jif(s[j].chineseswap(&s[j],&s[j+1]);
/按姓名升序排序。
void sortbyname(struct student *s, int n)
int i,j;
/按语文成绩降序排序,使用冒泡排序。
for(i=0;i{ for(j=0;jif(strcmp(s[j].name,s[j+1].name)>0)
swap(&s[j],&s[j+1]);
void main()
struct student s[5];
input(s,5);
output(s,5);
sortbyscore(s,5);
printf("按总分降序排序后:");
output(s,5);
sortbychinese(s,5);
printf("按语文成绩降序排序后:");
output(s,5);
sortbyname(s,5);
printf("按姓名升序排序后:");
output(s,5);
练习:1、编写程序,定义一个结构体类型student,含学生的姓名、学号、**号码和生日(结构体)。分别使用函数实现下面功能:
1)给5名学生输入以上信息。
2)输入一个学号,然后查找是否存在该学号的学生。如果找到则输出,否则提示“不存在”。
按生日升序排序。
结构体练习
1 include student void func struct student s int n void main func s,4 for i 0 i 4 i printf 5s f s i name,s i score void func struct student s int n in...
数据结构排序练习
1 在待排序的元素序列基本有序的前提下,效率最高的是 c a 插入排序 b 选择排序 c 快速排序 d 归并排序。2 一组数为 46,79,56,38,40,84 则利用堆排序的方法建立的初始堆为 38 40 56 79 46 84 3 一组数为 46,79,56,38,40,84 则利用快速排序法...
结构体编程练习
一 实验目的 1 理解结构体和共用体的作用功能 2 掌握结构体类型变量的定义方法 3 掌握结构体变量的使用方法 4 掌握结构体数组,并能较熟练应用 5 理解指向结构体类型数据的指针。二 实验内容及要求 1 用结构体实现在屏幕上模拟显示一个数字式时钟 思考题 1 用结构体指针作为函数参数与用结构体变量...