时间限制: 1000 ms 内存限制: 65536 KB
提交数: 77445 通过数: 33870
【题目描述】
输入一个三位数,要求把这个数的百位数与个位数对调,输出对调后的数。
【输入】
三位数。
【输出】
如题述结果。
【输入样例】
123
【输出样例】
321
题目补充:假设输入的是都合法的三位整,不会存在001这种。
个位和百位对调后,如果数字前几位是0,那么不输出前几位的0。
【题目考点】
1. 三位数数字拆分
有三位数数字a
个位:a%10 十位:a/10%10 百位:a/100
2. 数字组合
a为百位,b为十位,c为个位,组合成的数字为a*100+b*10+c
【题解代码】
解法1:将三位数各位分解为三个整数
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, a, b, c;
cin >> n;
a = n%10;//个位
b = n/10%10;//十位
c = n/100;//百位
cout << a*100+b*10+c;//如果a是0,那么输出的数字没有百位
return 0;
}
解法2:用字符型变量存储三位数
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a, b, c;
cin >> a >> b >> c;
if(c == '0')
{
if(b == '0')//如果前两位都是0,只输出a
cout << a;
else//如果第一位是0,输出b,a
cout << b << a;
}
else//第一位不是0,则输出c,b,a
cout << c << b << a;
return 0;
}