结构体,共用体
假如一个学生的信息表中包括学号、姓名、性别和一门课的成绩。而成绩通常又可采用两种表示方法:一种是五分制,采用的是整数形式;一种是百分制,采用的是浮点数形式。现要求编一程序,输入一个学生的信息并显示出来。
#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); }