当前位置: 首页 > news >正文

C语言之成绩排序

题目描述

给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

输入格式

第一行为 ,表示班里的学生数目;

接下来的  行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过 ,成绩为一个不大于  的非负整数。

输出格式

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

输入
4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28
输出
Joey 92
Hanmeimei 90 
Kitty 80
Tim 28
#include<stdio.h>
#include<string.h>
struct student
{char name[25];int score;
};
int main()
{int n;scanf("%d",&n);struct student stu[25];struct student temp;int i,j;for(i=0;i<n;i++){scanf("%s%d",stu[i].name,&stu[i].score);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(stu[j].score<stu[j+1].score){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}else if(stu[j].score==stu[j+1].score){if(strcmp(stu[j].name,stu[j+1].name)>0){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}}for(i=0;i<n;i++){printf("%s %d\n",stu[i].name,stu[i].score);}return 0;
}

上述name[25]的数组容量是成败的关键,如果是20则不对,struct student stu[25]其中25也是成败的关键。

http://www.jsqmd.com/news/113252/

相关文章:

  • 使用sharedPerences保存app配置文件
  • 如何使用 FPGA 推理大模型 (1) - 简介
  • 如何使用 FPGA 推理大模型 (3) - 硬件平台搭建
  • MST 做题单
  • 使用WPF编写一个Ethernet/IP的主站程序 - 指南
  • 015.洛谷模拟题
  • 速度表情用语中外文对照表
  • 如何使用 FPGA 推理大模型 (2) - 加速核心编写
  • 写在二战考试前一晚
  • 复制文本到剪贴板(跨平台兼容)
  • 分享文件:charles-proxy-4.6.3-win64.msi
  • git如何撤销某个冲突的解决
  • 关于本站
  • 2025年12月金包银品牌TOP10品牌:工艺/品控/售后三维分析,新手避坑首选 - 小白条111
  • 物理验证:你选哪款 DRC/LVS
  • 第十七节:高并发秒杀方案各类小问题总结
  • 夕花朝逝
  • 2025年12月中医馆,昆明中医,云南中医馆推荐:行业权威盘点与品质诊疗红榜发布 - 品牌鉴赏师
  • 赫斯特 (Hurst)计算——重标极差法(R/S法)
  • Android ALSA驱动进阶之获取周期帧数snd_pcm_lib_period_frames:用法实例(九十五) - 详解
  • 从研究问题到分析初稿:深度解析PaperXie AI科研工具中数据分析模块在学术写作场景下的辅助逻辑与技能实现路径
  • 详细介绍:Golang Cobra 教程:构建强大的CLI应用
  • 英语_阅读_Incorrect beliefs_待读
  • 基于深度学习的非机动车头盔检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • Unity 拖动物体技术文档
  • 12.19每日总结
  • 研究生必备:7款免费AI论文生成器,效率飙升200%,告别拖延 - 麟书学长
  • OOP-实验六
  • 在 Windows 11 中,以管理员权限打开 CMD(命令提示符)的几种常用方法
  • Git大文件管理与版本回退 - 详解