洛谷-P1307 數字反轉
阿新 • • 發佈:2018-12-03
題目描述
給定一個整數,請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零(參見樣例2)。
坑點,用陣列儲存時負數只需一個符號,還有去除前導零。
#include<iostream> #include<cstdio> #include<cmath> using namespace std; void exchange(int n){ if(n == 0) {printf("0\n");return; } int a[15]; int b = n,cnt = 0; while(b){ a[cnt++] = b%10; b/=10; } if(n<0) cout<<'-'; int flag = 0; for(int i = 0;i < cnt;i++){ if(a[i] != 0) flag = 1; if(flag) printf("%d",abs(a[i])); } printf("\n"); } int main(){ int n; while(~scanf("%d",&n)) exchange(n); }
Test_Data
1 1
0 0
666 666
5200 25
002500 52
40206030 3060204
999888777 777888999