其中有问题13,题目描述如下
小 A 有两块球形橡皮泥,一个半径是 4,一个半径是 10。他想把这两块橡皮泥揉在一起,然后塑造成一个正方体,请问这个正方体的棱长是多少?如果结果不是整数,则舍去小数点之后的数字。取 \pi = 3.141593π=。
如此我们很自然的可以想到用 switch—case结构去解决问题 对于其中的case 13代码如下
case 13:{
double i;
double Pi=3.141593;
i=pow(1.0*4/3*Pi*(64+1000),1.0*1/3);
cout<<(int)i;break;
break; }
实验可得pow()内写上式一般,AC;
1.pow()内写4/3.0*Pi*(64+1000),1/3.0 AC;
2.pow()内写1.0*4/3*Pi*(64+1000),1/3.0 AC;
3.pow()内写1.0*4/3*Pi*(64+1000),1.0*1/3 AC;
4.pow()内写1.0*4/3*Pi*(64+1000),1/3 UAC;---------自然不行,因为1/3=0;
5.pow()内写4/3*1.0*Pi*(64+1000),1/3.0 UAC------比较2与5-说明对于乘式,其中两式之间乘以1.0并不可合法将该乘式化为浮点格式
6.pow()内写1.0*4/3*Pi*(64+1000),1/3*1.0 UAC----比较3与6-说明对于分式,于其后乘以1.0并不可合法将其化为浮点格式
为转浮点式,于分式之前乘以1.0才合法