题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,
举两个例子如下:
x=123,return321 x=-123,return-321
如题,这题目很简单,就不跟小伙伴们废话了,在英雄会上判定也是一个一星的题而已,入门...
将一个整数按照我们的常规思路 不断取余,再舍弃尾数,这样录入得到各个位数的值,再将其反转,最后将之前是否有负号重新补上;
小小代码附上,请各位不吝赐教:
#include <stdio.h>
#include <stdlib.h>
int Reverse(int x)
{
int i = 0, j = 0;
char num[20] = {0};
int Pos = 0; //正负数标志
int Rnum = x; //操作数
if(x < 0) //负数
{
Rnum = -x; //得到正数
Pos = 1; //负数标志
}
while(Rnum > 0)
{
num[i] = Rnum % 10; //由尾数开头存入数组
Rnum /= 10; //舍弃尾数
i++;
}
Rnum = 0; //重新作为记录
while(j < i)
{
Rnum = Rnum * 10 + num[j]; //反转
j++;
}
if(1 == Pos) //返回负号
Rnum = -Rnum;
return Rnum;
}
int main()
{
int n = -123456789;
printf("反转前:%d\n", n);
printf("反转后:%d\n", Reverse(n));
system("pause");
return 0;
}
加了多余的说明只是为了更加清晰
工程:http://download.csdn.net/detail/xjm199/6747469
http://download.csdn.net/user/xjm199
后续有更加好的想法会补上
大神们有什么建议,可以提点一下...多多交流,3Q.......o(∩_∩)o 哈哈