PTA练习题,猴子吃桃
using namespace std;
int main()
{
float d1;
float d2;
float d3;
float x;
scanf_s("%f", &x);
d3 = 2 / (1-x * 0.01);
d2 = (d3 + 1) / (1-x * 0.01);
d1 = (d2 + 1) / (1-x * 0.01);
printf("%d", (int)d1);
return 0;
把printf("%d", (int)d1);
改为printf("%d", int(d1+0.5));
,转化为整数时需要四舍五入,因为浮点数有误差
或者都采用整数计算
d3 = 2 * 100 / (100 - x);
d2 = (d3 + 1) * 100 / (100 - x);
d1 = (d2 + 1) * 100 / (100 - x);
1、由于0.01字面量是double类型,所以上述计算中,部分会被转换为double;
2、double类型的计算不比float慢,如果想尝试,可以直接用double;
3、这题把所有数据扩大100倍就可以按整数计算了