斤两转化成kg,注意一下小数点后消0的操作,Yes。
/*
BNUOJ27888:Baby Me
uva-12555 - Baby Me
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char str[100];
int main()
{
int t;
cin >> t;
for(int ca = 1;ca <= t;ca++)
{
scanf("%s",str);
printf("Case %d: ",ca);
int len = strlen(str);
double p = 0;//斤
int i,j;
for(i = 0;i < len;i++)
{
if(str[i] >= '0' && str[i] <= '9')
p = p*10 + str[i] -'0';
else
break;
}
double q = 0;//两
for(j = i;j < len;j++)
{
if(str[j] >= '1' && str[j] <= '9')
{
q = str[j] - '0';
break;
}
}
p = p *0.5;//整数kg
int u = (int)p;
double x = p - (int)p;//小数kg
x += q*0.05;
//巧妙的除零函数,其实就是个*10
while(x - (int)x > 1e-6)
x *= 10;
int v = (int)x;
if(v == 0)
printf("%d\n",u);
else
printf("%d.%d\n",u,v);
}
return 0;
}