不需要使用字符串,通过求余取整的方法翻转
int n;
int x = 0, y = 0;//后续拆分时使用
int m=0,z=0,s=0;//实现翻转是使用
int c = 4;
scanf("%d", &n);
if (n / 10000 == 0) //判断输入的数是不是小于四位数,翻转后补0
{
while (c>0)
{
s = n % 10;//求余,取出最后一位,最后一位乘十最最高位,实现翻转
z = (z * 10) + s;//每循环一次z乘十,最后一位始终在最高位
n /= 10;//取整,保留取出最后一位后的整数。
c--;
}
printf("%d", z);
}
else//输入的数大于四位
{
x = n % 10000;//取出后四位
y = n / 10000;//取出后四位后剩余的整数
while (x > 0)
{
s = x % 10;
z = (z * 10) + s;
x /= 10;
}
m = y * 10000 + z;//数学思想,y*10000后加上翻转后的后四位,形成一个新的整数,最后输出m
printf("%d", m);