printf("v=%.3f",v); 三位有效数吧。不是占用三个宽带把
#include
#define PI 3.1415926
float cylinder (float r, float h) //改为float 就行
{
float s;
s=PI*r*r*h;
return s;
}
int main()
{
float r=0, h=0,v=0; //这里也是。因为double的输入应该是%lf
printf("输入半径 r : ");
scanf("%f",&r);
printf("输入高度 h : ");
scanf("%f",&h);
v=cylinder(r,h);
printf("v=%.3f",v);
return 0;
}
程序没错怎么会结果不对?把scanf("%f",&r);和scanf("%f",&h);改成scanf("%lf",&r);和scanf("%lf",&h);。把printf("v=%3.f",v);改成printf("v=%.3f",v);。