问题描述
某军事单位由于作战需要,需将一个六位数按规则重新转换后传递,转换规则是:先将六位数分为前三位和后三位,然后比较,将较大的三位数放在前面,较小的三位数放在后面,重新组成一个六位数;请编程帮助该单位计算出转换后的六位数。
比如:输入 687523,那么前三位数 687 ,后三位数523 ,由于前三位 > 后三位,因此不需要换位置,计算结果任然是 687523;
再比如:输入 123468,那么前三位是 123 ,后三位是468,由于前三位 <后三位,因此需要换位置,得到新的 6 位数是 468123 。
输入
一个六位整数。
输出
输出按照规则计算的结果。
样例
输入
复制
687523
输出
复制
687523
#include<iostream>
using namespace std;
int main()
{
int n,a,b,x;
cin>>n;
a = n/1000;//a代表前三位
b = n%1000;//b代表后三位
if(a>b)//直接将前三位和后三位进行比较即可
{
cout<<a*1000+b;
}
else
{
cout<<b*1000+a;
}
return 0;
}
在这里提醒大家:可以直接用“n/1000”求出前三位,“n%1000”求出后三位,直接比较。不需将每一位算出再比较