此函数主要用来反转任意整数,例:123 -> 321.
#include<stdio.h> void fanzhuan(int a) { int sum = 0; while (a != 0) //数字反转 { sum *= 10; sum += a % 10; a /= 10; } printf("%d", sum); }
然后我们可以健壮一下这个代码,让其输入负数也能倒序输出
#include<stdio.h>
void fanzhuan(int a)
{
int flage = 0; // 用作判断正负
int sum = 0;
if (a < 0)
{
a = -a;
flage = 1;
}
while (a != 0) //数字反转
{
sum *= 10;
sum += a % 10;
a /= 10;
}
if (flage == 0)
{
printf("%d", sum);
}
else
{
printf("-%d", sum); //输出负数形式
}
}
这样就可以了,当然也有别的方法比这个简单。
我们来补充一下主函数:
#include<stdio.h>
void fanzhuan(int a);
int main()
{
int a;
scanf("%d", &a);
fanzhuan(a);
return 0;
}
void fanzhuan(int a)
{
int flage = 0;
int sum = 0;
if (a < 0)
{
a = -a;
flage = 1;
}
while (a != 0) //数字反转
{
sum *= 10;
sum += a % 10;
a /= 10;
}
if (flage == 0)
{
printf("%d", sum);
}
else
{
printf("-%d", sum);
}
}
看一下运行结果: