| 
 | 
 
 
发表于 2022-3-30 21:58:28
|
显示全部楼层
 
 
 
没找到答案,就尝试自己做了下,有啥见解改进的欢迎各位指正!
 本帖最后由 wang-123 于 2022-3-30 22:14 编辑  
- #include <stdio.h>
 
  
-  struct
 
 - {
 
 -         char name[20];
 
 -         int num;
 
 -         char sex;
 
 -         char job;
 
 -         union                                
 
 -         {
 
 -                 int grade;                        //班级
 
 -                 char position[10];        //职务
 
 -         }sort;
 
 - }person[3];                                        //两学生一老师
 
  
- void main()
 
 - {
 
 -         int i;
 
 -         for(i=0; i<3; ++i)
 
 -         {
 
 -                 printf("Please input name,num,sex(M/F),job(s/t) \n");
 
 -                 scanf ("%s %d %c %c", &person[i].name,&person[i].num,&person[i].sex,&person[i].job);
 
 -                 if (person[i].job == 's')
 
 -                 {
 
 -                         printf ("Please input grade: ");
 
 -                         scanf("%d", &person[i].sort.grade);
 
 -                 }
 
 -                 else if(person[i].job == 't')
 
 -                 {
 
 -                         printf ("Please input position: ");
 
 -                         scanf("%s", &person[i].sort.position);
 
 -                 }
 
 -                 
 
 -         }
 
  
-         printf("\n");
 
  
-         printf("name   num   sex   job(grade/position)");
 
 -         for (i=0; i<3; ++i)
 
 -         {
 
 -                 if(person[i].job == 's')
 
 -                 {
 
 -                         printf ("\n %-6s %-6d %-6c %-6d ",person[i].name, person[i].num, person[i].sex, person[i].sort.grade);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         printf ("\n %-6s %-6d %-6c %-6s ",person[i].name, person[i].num, person[i].sex, person[i].sort.position);
 
 -                 }
 
 -                 
 
 -         }
 
 -         printf ("\n");
 
 - }
 
  
  复制代码 |   
 
 
 
 |