【题目】有若干个人员的数据,其中有学生和教师。学生的数据包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求用同一个表格来处理。
#include<stdio.h> struct person { long num; char name[20]; char sex; char job; union category { int clas; char position[20]; }cat; }per[2]; int main() { int i; for(i=0;i<2;i++) { printf("Please enter the data of person:\n"); scanf("%ld %s %c %c",&per[i].num,per[i].name,&per[i].sex,&per[i].job); if(per[i].job=='s') scanf("%d",&per[i].cat.clas); else if(per[i].job=='t') scanf("%s",per[i].cat.position); else printf("Input error!\n"); } printf("\n"); printf("======================================\n"); printf("NO. name sex job class/position\n"); printf("======================================\n"); for(i=0;i<2;i++) { if(per[i].job=='s') printf("%-6ld%-10s%-4c%-4c%-10d\n", per[i].num,per[i].name,per[i].sex,per[i].job,per[i].cat.clas); else if(per[i].job=='t') printf("%-6ld%-10s%-4c%-4c%-10s\n", per[i].num,per[i].name,per[i].sex,per[i].job,per[i].cat.position); } printf("======================================\n"); return 0; }