我是靠谱客的博主 畅快犀牛,最近开发中收集的这篇文章主要介绍取整,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对于给定的一个数,如果大于10,则取整到最接近的整十数,如果超过了100,则取最接近的整百数,如果超过了1000,则取最接近的整千数,以此类推。

提示:取整方法采用四舍五入法。

输入

输入包含若干个测试用例,第一行为正整数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
#include<stdio.h>
int main()
{
    int n,i;
    
    while(~scanf("%d",&n))
    {
        long long int b,c,d,e,f,g,h,j,a[n];
        for(i=0;i<n;i++)
            scanf("%lld",&a[i]);
        for(i=0;i<n;i++)
        {
            b=a[i]/10000000;
            c=(a[i]%10000000)/1000000;
            d=(a[i]%1000000)/100000;
            e=(a[i]%100000)/10000;
            f=(a[i]%10000)/1000;
            g=(a[i]%1000)/100;
            h=(a[i]%100)/10;
            j=a[i]%10;
            if(j>=5)
                h++;
            if(h>=5)
                g++;
            if(g>=5)
                f++;
            if(f>=5)
                e++;
            if(e>=5)
                d++;
            if(d>=5)
                c++;
            if(c>=5)
                b++;
            if(a[i]>=0&&a[i]<=9)
                a[i]=a[i];
            if(a[i]>=10&&a[i]<=99)
                a[i]=h*10;
            if(a[i]>=100&&a[i]<=999)
                a[i]=g*100;
            if(a[i]>=1000&&a[i]<=9999)
                a[i]=f*1000;
            if(a[i]>=10000&&a[i]<=99999)
                a[i]=e*10000;
            if(a[i]>=100000&&a[i]<=999999)
                a[i]=d*100000;
            if(a[i]>=1000000&&a[i]<=9999999)
                a[i]=c*1000000;
            if(a[i]>=10000000&&a[i]<=99999999)
                a[i]=b*10000000;
        }
        for(i=0;i<n;i++)
            
            printf("%lldn",a[i]);
    }
    return 0;
}

 

最后

以上就是畅快犀牛为你收集整理的取整的全部内容,希望文章能够帮你解决取整所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部