学生成绩单制作 (1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩。

2024-11-24 13:26:11
推荐回答(2个)
回答1:

#include
struct person
{int num,m,c,e;
float ave;
char name[20];
}man[2];
main()
{int i,j,maxm,maxc,maxe,a=0,b=0,c=0;
float t;
for(i=0;i<2;i++)
{scanf("%d,%d,%d,%d\n",&man[i].num,&man[i].m,&man[i].c,&man[i].e);
scanf("%s",&man[i].name);
man[i].ave=(man[i].m+man[i].c+man[i].e)/3.0;}
maxm=man[0].m,maxc=man[0].c,maxe=man[0].e;
for(i=0;i<10;i++)
if(maxm a=i;
if(maxc b=i;
if(maxe c=i;
printf("number name math\n");
printf("%-10d%-6s%8d\n",man[a].num,man[a].name,man[a].m);
printf("number name chinese\n");
printf("%-10d%-6s%6d\n",man[b].num,man[b].name,man[b].c);
printf("number name english\n");
printf("%-10d%-6s%6d\n",man[c].num,man[c].name,man[c].e);
for(i=0;i<1;i++)
for(j=i+1;j<2;j++)
if(man[i].ave {t=man[i].ave;
man[i].ave=man[j].ave;
man[j].ave=t;}
printf("number name math chinese english average\n");
for(i=0;i<2;i++)
printf("%-10d%-6s%10d%6d%10d%15f\n",man[i].num,man[i].name,man[i].m,man[i].c,man[i].e,man[i].ave);
}

回答2:

#difine N 10
type struct{
int Number;
char name;
float math;
float chinese;
float rnglish;
} student[N];