[问题描述]
[基本要求]
[测试数据]
[选作内容]
参考样例
心意就是要全满分!hhh
代码实现:
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int N=1e4+50;
struct ss
{
char xuehao[15],name[10];//
int wuli,shuju,shuzi,xiandai,yingyu;
double zongfen;//物理,数据结构,数字逻辑,英语,总分
//各科权值 数据结构占50% 线性代数占20% 数字逻辑占20% 英语占10%
}s[N];
bool cmp1(struct ss a,struct ss b)
{
return a.zongfen>b.zongfen;
}
int main()
{
int i,n;
printf("请输入学生人数:\n");
scanf("%d",&n);
printf("请依此输入学生的学号、姓名、各科成绩(物理、数据结构、数字逻辑、英语)\n");
for(i=1;i<=n;i++)
{
scanf("%s %s %d%d%d%d",&s[i].xuehao,&s[i].name,&s[i].wuli,&s[i].shuju,&s[i].xiandai,&s[i].yingyu);
s[i].zongfen=s[i].wuli*0.2+s[i].shuju*0.2+s[i].xiandai*0.5+s[i].yingyu*0.1;
}
sort(s+1,s+n+1,cmp1);
printf("\n名次表:\n");
for(i=1;i<=n;i++)
printf("%d %s %.2lf\n",i,s[i].name,s[i].zongfen);
printf("\n成绩单:\n");
for(i=1;i<=n;i++)
printf("%s %s %.2lf %d %d %d %d\n",s[i].xuehao,s[i].name,s[i].zongfen,s[i].wuli,s[i].shuju,s[i].xiandai,s[i].yingyu);
return 0;
}