将一个形如 X.YX.Y 的小数,用特殊近似法近似到整数。
特殊近似法定义为:从最右边开始四舍五入到整数为止。 比如 4.445⇒4.45⇒4.5⇒5 。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n;
long long k;
char str[1050];
cin>>n;
while(n--)
{
scanf("%s",str);
int len1=strlen(str);
k=0;
int j=0;
for(int i=0;i<len1;i++){
if(str[i]=='.'){j=i;break;}
k=k*10+str[i]-'0';
}
int y=str[++j]-'0';
while(j<len1){
if(y>4){break;}
if(y<4){break;}
if(y==4){
y=str[j++]-'0';
}
}
if(y>4)cout<<k+1<<endl;
else cout<<k<<endl;
}
return 0;
}