C语言结构体和共同体实验四,怎么解?

2025-04-09 08:39:03
推荐回答(1个)
回答1:

/*第一张图太模糊了*/

#include

struct st{

char name[20];

int num;

char work;

union sh{

float score;

char course[11];

}ps;

}s[6]; 

int main()

{

for(int i=1;i<5;i++)

{

scanf("%s%d %c",s[i].name,&s[i].num,&s[i].work);

if(s[i].work=='x')

scanf("%f",&s[i].ps.score);

else

scanf("%s",s[i].ps.course);

}

for(int i=1;i<5;i++)

{

printf("%-8s%-8d%-8c",s[i].name,s[i].num,s[i].work);

if(s[i].work=='x')

printf("%-8.1f",s[i].ps.score);

else

printf("%-8s",s[i].ps.course);

printf("\n");

}

return 0;

 }