标签:个数 struct ring 限制 submit scanf 内存 function ios
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:
1. 老年人(年龄 >= 60岁)比非老年人优先看病。
2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
3. 非老年人按登记的先后顺序看病。
5 021075 40 004003 15 010158 67 021033 75 102012 30
021033 010158 021075 004003 102012
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
using namespace std;
struct jgt{
char id[10001];
int nl;
int xv;
}a[101];
int main()
{
int n,k=0;
cin>>n;
for(int i=1;i<=n;i++)
{
//cin>>a[i].id>>a[i].nl;
scanf("%s%d",a[i].id,&a[i].nl);
a[i].xv=i;
if(a[i].nl>=60)
{
k++;
}
}
for(int i=1;i<=n-1;i++)
{
for(int j=i;j<=n;j++)
{
if(a[i].nl>a[j].nl)
{
swap(a[i],a[j]);
}
}
}
//for(int i=1;i<=n;i++)
// {
// cout<<a[i].nl<<" ";
// }
for(int i=(n-k+1);i<=n-1;i++)
{
for(int j=i;j<=n;j++)
{
if(a[i].nl<a[j].nl)
{
swap(a[i],a[j]);
}
if(a[i].nl==a[j].nl)
{
if(a[i].xv>a[j].xv)
{
swap(a[i],a[j]);
}
}
}
}
for(int i=(n-k+1);i<=n;i++)
{
cout<<a[i].id<<endl;
}
for(int i=1;i<=n-k-1;i++)
{
for(int j=i;j<=n-k;j++)
{
if(a[i].xv>a[j].xv)
{
swap(a[i],a[j]);
}
}
}
for(int i=