#include <stdio.h>
int reverse(int i)
{
int m = 0;
while (i)
{
m = m * 10 + i % 10;
i = i /10;
}
return m;
}
int main()
{
int i = 0;
scanf("%d", &i);
reverse(i);
int ret = reverse(i);
printf("%d", ret);
}
第二种
#include <stdio.h>
int main()
{
int reverse(int n); //函数声明
int n;
printf("输入一个整数:");
scanf("%d", &n);
printf("反转后的整数:%d\n", reverse(n));
return 0;
}
int reverse(int n)
{
int sign = 1, m; //sign为符号位标志
if (n < 0) sign = -1;
n = (n >= 0 ? n : -n); //取n的绝对值
m = n % 10; //取出n的个位数;
while (n >= 10)
{
n = n / 10; //n的小数点左移一位
m = m * 10 + n % 10; //m的小数点右移一位,并加上当前n的个位数
}
return sign * m;
}
第三种(比较清晰)
#include<stdio.h>
int reverse(int n)
{
int k = 0;
int m = 0;
while (n != 0)//while只是判断某一个条件 for语句是知道起始条件
{
k = n % 10;
m = m * 10 + k;
n = n / 10;
}
return m;
}
int main()
{
int reverse(int n);
int n = 0;
printf("请输入一个整数:\n");
scanf("%d", &n);
printf("%d 反转后为 %d", n, reverse(n));
return 0;
}