题目描述
输入一对正整数x和y,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出。该规则是这样的:按两数倒过来的值进行比较决定其大小,比如90倒过来为9,89倒过来为98,所以按照这个规则,89大于90。
输入格式
一行两个整数x和y,(x≤y≤10000)用空格隔开。
输出格式
包括y-x+1行,每行一个正整数,按两数倒过来的值进行比较决定其大小,然后由小到大输出。
样例
输入#1
22 39
输出#1
30
31
22
32
23
33
24
34
25
35
26
36
27
37
28
38
29
39
#include <bits/stdc++.h>
using namespace std;
struct sz
{
int zx,dx;//diandao!!!!!!!!//
}a[10010];
bool cmp(sz a,sz b)
{
return a.dx<b.dx;
}
int main()
{
int x,y;
cin>>x>>y;
for(int i=x;i<=y;i++)
{
a[i].zx=i;
int t=i,s=0;
while(t!=0)
{
s=s*10+t%10;t=t/10;
}a[i].dx=s;
}
sort(a+x,a+y+1,cmp);
for(int i=x;i<=y;i++)
{
cout<<a[i].zx<<endl;
}
}
/*祝大家五一快乐~~*/
五一征文!!!!!!!创作不易谢谢。访问量到100————就发布下一个知识点!!