给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。输入:123输出321输入:-123输出-321
#include <stdio.h>
#include <limits.h>
int min = INT_MIN, max = INT_MAX;
int invert(int num)
{
long a,b=0;
while(num != 0)
{
a = num % 10;
num = num / 10;
b = (a+b) * 10;
}
if( b > max || b < min )
{
printf("超出取值范围!\n");
return 0;
}
else
{
return b/10;
}
}
int main(int argc, const char *argv[])
{
printf("请输入一个整数:");
int n;
scanf("%d",&n);
n = invert(n);
printf("反转后为:%d\n",n);
return 0;
}