题目要求:
本题要求实现一个常用圆形体体积的计算器。计算公式如下:
球体体积 V= 4/3πr^3,其中r是球体半径。
圆柱体体积 V=πr^2h,其中r是底圆半径,h是高。
圆锥体体积 V= 1/3πr^2*h,其中r是底圆半径,h是高。
输入格式:
在每次计算之前,要求输出如下界面:
1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:
然后从标准输入读进一个整数指令。
输出格式:
如果读入的指令是1或2或3,则执行相应的体积计算;如果是其他整数,则程序结束运行。
当输入为1时,在计算球体体积之前,打印Please enter the radius:
,然后读入球体半径,完成计算;
当输入为2时,在计算圆柱体体积之前,打印Please enter the radius and the height:
,然后读入底圆半径和高,完成计算;
当输入为3时,在计算圆锥体体积之前,打印Please enter the radius and the height:
,然后读入底圆半径和高,完成计算。
计算结果在一行内输出,保留小数点后两位。
输入样例1:
1232.4 30
输出样例1:
1-Ball2-Cylinder3-Coneother-ExitPlease enter your command:Please enter the radius:33.511-Ball2-Cylinder3-Coneother-ExitPlease enter your command:Please enter the radius and the height:18.101-Ball2-Cylinder3-Coneother-ExitPlease enter your command:
代码:
#include <stdio.h>#include <math.h>#define PI 3.1415926535 //π位数要多,否则测试点三过不了,精度丢失int main(){int n;double r, h, r_circle;do{printf("1-Ball\n2-Cylinder\n3-Cone\nother-Exit\nPlease enter your command:\n");scanf("%d", &n);if(n==1){printf("Please enter the radius:\n");scanf("%lf", &r);printf("%.2f\n", 4.0/3.0*PI*pow(r, 3));}else if(n==2){printf("Please enter the radius and the height:\n");scanf("%lf%lf", &r_circle, &h);printf("%.2f\n", PI*pow(r_circle, 2)*h);}else if(n==3){printf("Please enter the radius and the height:\n");scanf("%lf%lf", &r_circle, &h);printf("%.2f\n", 1.0/3.0*PI*pow(r_circle, 2)*h);}else{break;} }while(n);return 0;}