信息学奥赛一本通(1183:病人排队)
1183:病人排队
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 17345 通过数: 7284
【题目描述】
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:
1.老年人(年龄 >= 60岁)比非老年人优先看病。
2.老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
3.非老年人按登记的先后顺序看病。
【输入】
第1行,输入一个小于100的正整数,表示病人的个数;
后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。
【输出】
按排好的看病顺序输出病人的ID,每行一个。
【输入样例】
5
021075 40
004003 15
010158 67
021033 75
102012 30
【输出样例】
021033
010158
021075
004003
102012
【参考代码】
#include <stdio.h>
#define N 20
struct node
{
char s[N]; //病人id
int age; //病人年龄
int que; //病人顺序
}pat[100],t;
void cmpsort(int n)
{
int i,j;
int case1,case2,case3,case4;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
case1=pat[i].age<60 && pat[j].age>=60;
case2=pat[i].age>=60 && pat[j].age>=60 && pat[i].age<pat[j].age;
case3=pat[i].age>=60 && pat[j].age>=60 && pat[i].age==pat[j].age && pat[i].que>pat[j].que;
case4=pat[i].age<60 && pat[j].age<60 && pat[i].que>pat[j].que;
if(case1 || case2 || case3 || case4)
{
t=pat[i];
pat[i]=pat[j];
pat[j]=t;
}
}
}
}
int main()
{
int i,k=1,n;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s %d",pat[i].s,&pat[i].age);
pat[i].que=k;
k++;
}
cmpsort(n);
for(i=0;i<n;i++)
printf("%s\n",pat[i].s);
return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1183
信息学奥赛一本通(1183:病人排队)相关推荐
- c语言程序设计医院排队功能,[信息学奥赛一本通-T1183]病人排队-题解(C语言代码)...
解题思路:通过年龄是否大于等于60作判断,当年龄大于等于60时,记录当前数据,当前数据之前的数据全部后移一位,把当前数据放到第一位.循环n(人数)次 注意事项: 参考代码: #include stru ...
- 信息学奥赛一本通1399——甲流病人初筛
信息学奥赛一本通--甲流病人初筛 1399:甲流病人初筛 http://ybt.ssoier.cn:8088/problem_show.php?pid=1399 题目描述 目前正是甲流盛行时期,为了更 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通在线提交地址
信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”
董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 《信息学奥赛一本通提高篇》第6章 组合数学
例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...
- 《信息学奥赛一本通 提高篇》
提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...
- 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分
信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...
最新文章
- 【转载】Session服务器配置指南与使用经验
- python运行程序-Python中四种运行其他程序的方式
- 中文文本情感分析-python包SnowNLP入门
- Java总结篇系列:Java多线程(一)
- [转载] numpy.gradient
- 调度失败:执行器地址为空_三千字带你搞懂XXL-JOB任务调度平台
- MySQL 运维及开发规范
- IPFS(DRAFT 3) 中文版白皮书
- python实现ftp_python实现ftp(客户端)
- SD卡驱动(详细介绍,不明白的人可以仔细看看了.有流程图)
- sql未保存文档找回
- AltiumDesigner19(AD19)使用设置技巧
- 51实现todos-完整js
- 2018_WWW_DKN- Deep Knowledge-Aware Network for News Recommendation阅读笔记
- 抖音私信页面如何做跳转页跳到微信加好友?
- win10系统日志事件ID 10016
- ESP-12S学习(6)--Smartconfig
- python网络游戏服务器
- LTE小区选择和小区重选(3
- HTML5+CSS大作业——传统节日--中秋节(5页)