为什么输出是00

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:13:29
#include<stdio.h>
void main()
{
float r,zc,mj,bmj,qtj,ytj,h;
float pi=3.1415926;
printf("请输入半径R、圆柱高h.\n");
scanf("%f%d",&r,&h);
zc=2*pi*r; /*计算周长*/
mj=pi*r*r; /*计算表面积*/
bmj=4*pi*r*r; /*计算表面积*/
qtj=4.0f/3.0f*pi*r*r*r; /*计算球体积*/
ytj=h*pi*r*r; /*计算圆柱体积*/
printf("周长:%.2f\n",zc);
printf("表面积:%.2f\n",mj);
printf("圆表面积:%.2f\n",bmj);
printf("球体积:%.2f\n",qtj);
printf("圆柱体体积:%.2f\n",ytj);
}

输出结果:

请输入半径R 原柱高h.
1.5 3
周长:9.42
表面积7.07
圆表面积:28.27
求体积:14.14
圆柱体体积:0.00 ------------??????为什么这个是00呢?

h为float类型,scanf改一下:
#include<stdio.h>
void main()
{
float r,zc,mj,bmj,qtj,ytj,h;
float pi=3.1415926;
printf("请输入半径R、圆柱高h.\n");
scanf("%f%f",&r,&h);
zc=2*pi*r; /*计算周长*/
mj=pi*r*r; /*计算表面积*/
bmj=4*pi*r*r; /*计算表面积*/
qtj=4.0f/3.0f*pi*r*r*r; /*计算球体积*/
ytj=h*pi*r*r; /*计算圆柱体积*/
printf("周长:%.2f\n",zc);
printf("表面积:%.2f\n",mj);
printf("圆表面积:%.2f\n",bmj);
printf("球体积:%.2f\n",qtj);
printf("圆柱体体积:%.2f\n",ytj);

}

scanf("%f%f",&r,&h);
/*输入语句有问题,注意定义的类型都是单精度浮点数*/