结构体,共用体
假如一个学生的信息表中包括学号、姓名、性别和一门课的成绩。而成绩通常又可采用两种表示方法:一种是五分制,采用的是整数形式;一种是百分制,采用的是浮点数形式。现要求编一程序,输入一个学生的信息并显示出来。
程序代码:#include<stdio.h>
struct student
{
char num[6];
char name[8];
char sex;
union
{
int five;
float hundred;
}score;
}stu[2];
int input(struct student stu[])
{
scanf("%s",stu[1].num);
scanf("%s",stu[1].name);
getchar();
scanf("%c",&stu[1].sex);
printf("1.五分制2.百分制\n");
int choice;
scanf("%d",&choice);
if(choice == 1)
scanf("%d",&stu[1].score.five);
else
scanf("%f",&stu[1].score.hundred);
return choice;
}
void print(struct student stu[],int choice)
{
printf("%s\n",stu[1].num);
printf("%s\n",stu[1].name);
printf("%c\n",stu[1].sex);
if(choice == 1)
printf("%d\n",stu[1].score.five);
else
printf("%f\n",stu[1].score.hundred);
}
void main()
{
int choice = input(stu);
print(stu,choice);
}
