题目描述:要求实现把给定的一个整数取其相反数的功能,举两个例子如下:x = 123, return 321 x = -123, return -321;
解题思路:对int a进行判断,如果a的大小不等于0;则定义一个变量temp等于temp*10+a的最后一位,a = a/10;依次循环。。。代码如下:
我的代码如下:
#include <iostream>
using namespace std;
int reverse(int x) {//wirte your code hereint ix = x > 0 ? x : -x ;int flag = 0 ;if (ix != x)flag = 1 ; // 表示x为负数int iy = 0;while (ix > 0){iy *= 10 ;iy += ix % 10 ;ix /= 10 ;}if (flag == 1)iy = -iy ;return iy ;}//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
int main()
{ cout << reverse(897) << endl;return 0;
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
一开始不知道余数和被除数的符号相同,使用了问号表达式,还用了一个标志位来标记是否为负数,其实没必要,下面是代码转载的别人的博客:点击打开链接
整个代码看起来简单明了:
#include<stdio.h> int fun(int a)
{ int temp = 0; while(a) { temp = temp*10 + a%10; a = a / 10; } return temp;
}
int main()
{ int num; printf("Input a num:"); scanf("%d",&num); printf("The result is:%d",fun(num)); return 1;
}