学生成绩单制作 (1)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩。
(2)从键盘输入10个学生的以上内容(3)输出单门课成绩最高的学生的学号,姓名。以及该门课程的成绩(4)输出三门课程的平均分数从最高到低进行排序,输出结果格式如下numb...
(2)从键盘输入10个学生的以上内容
(3)输出单门课成绩最高的学生的学号,姓名。以及该门课程的成绩
(4)输出三门课程的平均分数从最高到低进行排序,输出结果格式如下
number name math chinese english average
103 tom 90 90 100 95 101 alice 90 80 70 80 展开
(3)输出单门课成绩最高的学生的学号,姓名。以及该门课程的成绩
(4)输出三门课程的平均分数从最高到低进行排序,输出结果格式如下
number name math chinese english average
103 tom 90 90 100 95 101 alice 90 80 70 80 展开
2个回答
展开全部
#include<stdio.h>
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<man[i].m)
a=i;
if(maxc<man[i].c)
b=i;
if(maxe<man[i].e)
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<man[j].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);
}
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<man[i].m)
a=i;
if(maxc<man[i].c)
b=i;
if(maxe<man[i].e)
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<man[j].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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询