Note:pi需要精确到小数点后10位
方法一:if-else if语句
#include<stdio.h>
#define pi 3.1415926535
int main()
{
int n;
double v,r,h;
while(1)
{
printf("1-Ball\n");
printf("2-Cylinder\n");
printf("3-Cone\n");
printf("other-Exit\n");
printf("Please enter your command:\n");
scanf("%d",&n);
if(n==1)
{
printf("Please enter the radius:\n");
scanf("%lf",&r);
v=4*pi*r*r*r/3;
printf("%.2f\n",v);
}
else if(n==2)
{
printf("Please enter the radius and the height:\n");
scanf("%lf %lf",&r,&h);
v=pi*r*r*h;
printf("%.2f\n",v);
}
else if(n==3)
{
printf("Please enter the radius and the height:\n");
scanf("%lf %lf",&r,&h);
v=1*pi*r*r*h/3;
printf("%.2f\n",v);
}
else
break;
}
return 0;
}
方法二:switch-case语句
#include<stdio.h>
#define pi 3.1415926535
int main()
{
int n;
double v,r,h;
while(1)
{
printf("1-Ball\n");
printf("2-Cylinder\n");
printf("3-Cone\n");
printf("other-Exit\n");
printf("Please enter your command:\n");
scanf("%d",&n);
switch(n)
{
case 1:
{
printf("Please enter the radius:\n");
scanf("%lf",&r);
v=4*pi*r*r*r/3;
printf("%.2f\n",v);
break;
}
case 2:
{
printf("Please enter the radius and the height:\n");
scanf("%lf %lf",&r,&h);
v=pi*r*r*h;
printf("%.2f\n",v);
break;
}
case 3:
{
printf("Please enter the radius and the height:\n");
scanf("%lf %lf",&r,&h);
v=1*pi*r*r*h/3;
printf("%.2f\n",v);
break;
}
default:return 0;
}
}
}