0
点赞
收藏
分享

微信扫一扫

【数据结构实训】统计成绩

何晓杰Dev 2022-04-29 阅读 65

[问题描述]

[基本要求]

[测试数据]

[选作内容]

参考样例

心意就是要全满分!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;
}
举报

相关推荐

0 条评论