设计一个函数,能够对输入的两个学生结构体信息中的成绩按照大小顺序输出?

设计一个函数,能够对输入的两个学生结构体信息中的成绩按照大小顺序输出。要求使用指针类型的变量进行结构体变量的定义。

解题思路:采用 malloc 函数进行结构体指针变量的定义,并使用 --> 访问成员变量的方式进行结构体变量赋值;比较两个结构体信息中学生的成绩成员变量的大小,按照大小顺序输出。

程序框架:

#include "stdio.h"

#include "malloc.h"

#include "string.h"

#define NUM 1

#define STUDENT_NUM 3

struct STUDENT

{

char STU_ID[8];

char STU_NAME[10];

int STU_AGE;

int STU_SCORE;

};

int main(int argc, char* argv[])

{

// 建立一个学生的结构体 : 年龄,学号,名字和分数

int i,j;

struct STUDENT stu[STUDENT_NUM];

stu[0].STU_AGE=12;

strcpy(stu[0].STU_ID,"04120084");

strcpy(stu[0].STU_NAME," 张三 ");

stu[1].STU_AGE=12;

strcpy(stu[1].STU_ID,"04120085");

strcpy(stu[1].STU_NAME," 李四 ");

stu[2].STU_AGE=13;

strcpy(stu[2].STU_ID,"04120086");

strcpy(stu[2].STU_NAME," 赵五 ");

// 选择排序法

// 输入学生的成绩信息

printf("按顺序输入%d个学生的成绩信息,中间用“,”隔开\n",STUDENT_NUM);

scanf("%d,%d,%d",&stu[0].STU_SCORE,&stu[1].STU_SCORE,&stu[2].STU_SCORE);

// 学生添加选择排序法程序

{

}//end of 学生添加选择排序法程序

printf("%s,%d\n",stu[0].STU_NAME,stu[0].STU_SCORE);

printf("%s,%d\n",stu[1].STU_NAME,stu[1].STU_SCORE);

printf("%s,%d\n",stu[2].STU_NAME,stu[2].STU_SCORE);

}

return 1;

}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^