CSDN之人人code,整数取反
生活随笔
收集整理的這篇文章主要介紹了
CSDN之人人code,整数取反
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:要求實現把給定的一個整數取其相反數的功能,舉兩個例子如下: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; }
總結
以上是生活随笔為你收集整理的CSDN之人人code,整数取反的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统--用户级线程与内核级线程
- 下一篇: Linux学习之Linux历史