实验10-1 圆形体体积计算器

浙大版《C语言程序设计(第4版)》题目集参考答案


本题要求实现一个常用圆形体体积的计算器。计算公式如下:

  • 球体体积 V=34​πr3,其中r是球体半径。
  • 圆柱体体积 V=πr2h,其中r是底圆半径,h是高。
  • 圆锥体体积 V=31​πr2h,其中r是底圆半径,h是高。

输入格式:

在每次计算之前,要求输出如下界面:

1-Ball
2-Cylinder
3-Cone
other-Exit
Please 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
2
3
2.4 3
0

输出样例:

1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
Please enter the radius:
33.51
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
Please enter the radius and the height:
18.10
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:

提交结果:

基本思路:

1.由于题目没有说明π取3.14,所以直接用3.14计算会出现精度不够

2.利用do...while,打印菜单,接收指令,计算相应的体积或退出

代码实现:

#include<stdio.h>
#define pi 3.1415926535
int main()
{
    int input = 0;
    do
    {
        printf("1-Ball\n");//菜单
        printf("2-Cylinder\n");
        printf("3-Cone\n");
        printf("other-Exit\n");
        printf("Please enter your command:\n");
        scanf("%d", &input);
        if (input == 1)//按指令执行相应的体积计算
        {
            printf("Please enter the radius:\n");
            double r = 0;
            scanf("%lf", &r);
            double v = (4 * pi * r * r * r) / 3;
            printf("%.2lf\n", v);
        }
        else if (input == 2)
        {
            printf("Please enter the radius and the height:\n");
            double r = 0;
            double h = 0;
            scanf("%lf %lf", &r, &h);
            double v = pi * r * r * h;
            printf("%.2lf\n", v);
        }
        else if (input == 3)
        {
            printf("Please enter the radius and the height:\n");
            double r = 0;
            double h = 0;
            scanf("%lf %lf", &r, &h);
            double v = (pi * r * r * h) / 3;
            printf("%.2lf\n", v);
        }
    } while (input == 1 || input == 2 || input == 3);
    return 0;
}

欢迎提问和纠错,共同讨论一起进步!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值