关于%.3f 四舍五入问题。
代码如下:#include<stdio.h>
#include<math.h>
#define pi 3.141592653
void main()
{
double r,h,v,s,v1,s1;
printf("Please input radius and height of the cylinder:");
scanf("%lf%lf",&r,&h);
s=pi*pow(r,2);
v=s*h;
printf("%.3f %.3f\n",s,v);
s1=(int)(s*100+0.5)/100.0;
v1=(int)(v*100+0.5)/100.0;
printf("%.2f %.2f\n",s1,v1);
}
本来第一次输出是不应该四舍五入的,但是结果却会。可以输入1和1看看。
在另一个程序重新打一个纯输入输出的代码,却不会遇到这样的问题。