设计一个函数,能够对输入的两个学生结构体信息中的成绩按照大小顺序输出。要求使用指针类型的变量进行结构体变量的定义。
解题思路:采用 malloc 函数进行结构体指针变量的定义,并使用 --> 访问成员变量的方式进行结构体变量赋值;比较两个结构体信息中学生的成绩成员变量的大小,按照大小顺序输出。
参考代码:
#include "stdio.h"
#include "malloc.h"
#include "string.h"
#define NUM 1
struct STUDENT
{
char STU_ID[8];
char STU_NAME[10];
int STU_AGE;
int STU_SCORE;
};
int main(int argc, char* argv[])
{
struct STUDENT *stu1 = (struct STUDENT *)malloc(sizeof(struct STUDENT));
stu1->STU_AGE=12;
strcpy(stu1->STU_ID,"04120084");
strcpy(stu1->STU_NAME," 张三 ");
struct STUDENT *stu2=(struct STUDENT *)malloc(sizeof(struct STUDENT));
stu2->STU_AGE=12;
strcpy(stu2->STU_ID,"04120085");
strcpy(stu2->STU_NAME," 李四 ");
printf(" 输入学生成绩 \n");
scanf("%d,%d",&(stu1->STU_SCORE),&(stu2->STU_SCORE));
// 学生补充代码
{
}//end of 补充代码
printf("%s,%d\n",stu1->STU_NAME,stu1->STU_SCORE);
printf("%s,%d\n",stu2->STU_NAME,stu2->STU_SCORE);
return 1;
}