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