作业帮 > 综合 > 作业

请问C语言如何实现输入一个整数,将各位数颠倒,如输入12345,输出54321;输入-4567,输出-7654?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/14 05:36:44
请问C语言如何实现输入一个整数,将各位数颠倒,如输入12345,输出54321;输入-4567,输出-7654?
为什么我下面的程序单数位数不成功,但是偶数位数却成功了?
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
main()
{
int m,n,k,s;
s=0;
k=0;
printf("请输入一个整数:");
scanf("%d",&n);
m=n;
for(;n%10!=0;k++)
n=n/10;
for(;m%10!=0;k--)
{s=s+m%10*pow(10,k-1);
m=m/10;}
printf("对应的整数为:%d\n",s);
system("pause");
return 0;
}
请问C语言如何实现输入一个整数,将各位数颠倒,如输入12345,输出54321;输入-4567,输出-7654?
以上函数中
for(;n%10!=0;k++)
n=n/10;
这个位置就不对了,如果输入750,想想看会是什么结果!
for(;m%10!=0;k--)也和上边的错误有异曲同工之妙,嘿嘿……
以下是我刚写的一个函数,你试试吧.
int swapInt(int p)
{
int num=0;
while( p != 0 )
{
num = num*10+p%10;
p /= 10;
}
if (p