1183:病人排队

          我首先的思路是定义一个二维数组,之后发现病人的ID不仅有数字,还有字母,所以就要定义两个数组,一个来存储病人ID,是字符串。另一个来存储年龄。然后用两层循环,先将60岁以上的ID按年龄大小输出。剩下的再按顺序输出。

代码:

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 string a[110];
 5 int b[110];
 6 int main()
 7 {
 8     int n;
 9     cin>>n;
10     for(int i=1;i<=n;++i)
11     {
12         cin>>a[i]>>b[i];
13     }
14     for(int i=150;i>=60;--i)
15     {
16        for(int j=1;j<=n;++j)
17        {
18             if(b[j]==i)
19             {
20                 cout<<a[j]<<endl;
21          }
22        }
23     }
24     for(int i=1;i<=n;++i)
25     {
26         if(b[i]<60)
27         {
28             cout<<a[i]<<endl;
29         }
30     }
31     return 0;
32 }

          emm~这是我一开始的代码:↓☟

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 string a[110];
 5 int b[110];
 6 int main()
 7 {
 8     int n;
 9     cin>>n;
10     for(int i=1;i<=n;++i)
11     {
12         cin>>a[i]>>b[i];
13     }
14     for(int i=100;i>=60;--i)
15     {
16        for(int j=1;j<=n;++j)
17        {
18             if(b[j]==i)
19             {
20                 cout<<a[j]<<endl;
21          }
22        }
23     }
24     for(int i=1;i<=n;++i)
25     {
26         if(b[i]<60)
27         {
28             cout<<a[i]<<endl;
29         }
30     }
31     return 0;
32 }

          与上一个代码唯一不同的是:这个代码我定义的老人最大年龄为100;上一个是150;

          然后我一开始的代码交上后得了20分,只对了两个测试点。改成150后,就AC了。额,百岁老人还是很多的。。。

posted @ 2020-02-23 11:19  zkw666  阅读(2081)  评论(0编辑  收藏  举报