題目描述:給定一個整數,請將該數各個位上數字反轉得到一個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉后得到的新數的最高位數字不應為零。數據范圍 -1,000,000,000≤ N≤ 1,000,000,000 。
分析:按要求模擬,考慮全面需要耐心,細心。
代碼:
#include<cstdio>
int main()
{
int n, ok;
while(~scanf("%d",&n))
{
if (n < 0) //負數先輸出符號,再轉為正數處理
{
printf("-");
n = -n;
}
if (n == 0)
printf("0\n");
else
{
ok = 0; //標記要輸出的 0 之前是否已有非 0 數輸出過
while(n)
{
if(n%10 == 0 && ok || n%10 != 0)
{
printf("%d",n%10);
ok = 1;
}
n /= 10;
}
printf("\n");
}
}
return 0;
}