取整(JSU-ZJJ)
阿新 • • 發佈:2018-12-21
輸入
輸入包含若干個測試用例,第一行為正整數n,接下來n行,每行一個要求取整的整數x(0<=x<=99999999)。 輸出 對每個要求取整的整數,用一行輸出其取整後的結果。 樣例輸入 9 15 14 4 5 99 12345678 44444445 1445 446 樣例輸出 20 10 4 5 100 10000000 50000000 2000 500
分析:
看到題面意思,在看樣例我看不懂,這是什麼操作。當經過仔細思考的時候,我發現, 我是從個位數開始判斷,如果個位數大於4,則十位數加一。在判斷十位數是否大於四。依次如此,即可得到正確結果。
#include"stdio.h" int main() { long long a[10],n,i,j,m; while(~scanf("%lld",&n)) { i=0; while(n--) { i=0; scanf("%lld",&m); while(m) { a[i]=m%10; m=m/10; i++; } for(j=0; j<i-1; j++) { if(a[j]>4) { a[j+1]++; a[j]=0; } else a[j]=0; } i--; while(i>=0) { m=m*10+a[i]; i--; } printf("%lld\n",m); } } }