北航计算机机试06成绩排序

输入几个学生的姓名和成绩 然后按照规定的格式 按照成绩的高低 顺序输出

这个可以构造一个结构体数组
将data直接排序,输出就可以了,按照规定的格式… 格式也没写出来

typedef struct stu_score{
    char name[20];
    int score;
}STUDENT;

STUDENT s[20];
for(int i=0;i<20;i++)
{
scanf("%s",s[i].name);
scanf("%d",s[i].score);
}
//sort all the score,and swap both name and score;

或者有更好的思路也能用链表吧,,我这一块有点混,还是需要具体题目来练,这个太模糊了

用了qsort来实现
结果图:

#include<stdio.h>
#include<stdlib.h>
typedef struct In{
    int data;
    char name[10];
}IN;
int cmp(const void *a,const void *b);
int main()
{
    FILE *fp=stdout;
    freopen("filein.txt","r",stdin);
    freopen("out.txt","w",stdout);
    IN s[50];
    int i;
    for(i=0;i<50;i++)
    {
        scanf("%s%d",s[i].name,&s[i].data);
    }
    qsort(s,50,sizeof(IN),cmp);
    for(i=0;i<50;i++)
    {
        printf("%s %d\n",s[i].name,s[i].data);
    }
    return 0;
}
int cmp(const void *a,const void *b)
{
    return (*(IN*)a).data>(*(IN*)b).data?1:-1;//决定你是升序还是降序
}
全部评论

相关推荐

ldf李鑫:不说公司名祝你以后天天遇到这样的公司
点赞 评论 收藏
分享
点赞 评论 收藏
分享
暑期是进不了大厂了想问问前端友友们&nbsp;,后面应该如何沉淀自己,我想秋招再冲一下尤其是八股,应该抓哪一块是重点,理解到什么程度呢,要学到什么深度才能抗住拷打。还有场景题如何去准备。期待友友们的解答。
命烈焰带我飞走:找个中厂小厂先看看吧,去了熟悉熟悉项目,简历上扒点东西,之后刷刷sobb上百度美团快手的日常实习,流程都比较快轮次也少,别给自己太大压力,一步一步来,先不用想着暑期,转正,秋招那些事情,另外如果可能的话可以关注下面试时候的形象,穿搭,环境这些,其实实习主要就是看个眼缘,看着好看声音好听其实加分不少..八股这些不要死记硬背,挨个拿去问问chatgpt,这个东西做出来是为了解决什么问题,有啥效果,自己有想法有个模糊的概念就可以了,人家也知道你是学生,实习生没有什么kpi,放你去面都是希望能把你招进去的,场景题算法题没做过你可以边试着写边跟面试官说你的想法思路,也可以直说没见过让他们给你提示,反正最后都是与或非顺序分支循环存取值那套。总之建议是别为了秋招..出去旅旅游放松放松,少投几家少背八股多写写代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务