概述
对于给定的一个数,如果大于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;
}
最后
以上就是畅快犀牛为你收集整理的取整的全部内容,希望文章能够帮你解决取整所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复