1. 程式人生 > >取整(JSU-ZJJ)

取整(JSU-ZJJ)

輸入

輸入包含若干個測試用例,第一行為正整數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);

        }
    }

}