帮忙看一下,这个计算圆柱体表面积的程序为什么输出值总是零

#include
#include
int main()
{
const double pi = acos(-1.0);
double r, h, s1, s2, s;
scanf("%1f%1f", &r, &h);
s1 = pi*r*r;
s2 = 2*pi*r*h;
s = s1*2.0 + s2;
printf("Area = %.3f\n", s);
return 0;
}

你把相关变量输出,就知道了。

const double pi = acos(-1.0);

float r, h, s1, s2, s;
scanf("%f %f", &r, &h);
s1 = pi*r*r;
s2 = 2*pi*r*h;
s = s1*2.0 + s2;
printf("Area = %f\n", s);
return 0;

你把 l打成1了吧 scanf("%1f%1f", &r, &h); l aio

#include
#include
int main()
{
const double pi = acos(-1.0);
double r, h, s1, s2, s;
scanf("%lf%lf", &r, &h);
s1 = pi*r*r;
s2 = 2*pi*r*h;
s = s1*2.0 + s2;
printf("Area = %.3f\n", s);
return 0;
}
修改后代码如上
图片说明

double类型要用%lf