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

这是一个C++程序,用于根据用户输入计算球体、圆柱体和圆锥体的体积。程序首先显示操作菜单,用户选择相应选项后输入几何体的半径和高度(如果适用)。计算结果保留两位小数。程序会持续运行直到用户输入非1、2、3的整数退出。
摘要由CSDN通过智能技术生成
Spring-_-Bear 的 CSDN 博客导航

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

  • 球体体积 V = 4/3πr3,其中 r 是球体半径。
  • 圆柱体体积 V = πr2h,其中 r 是底圆半径,h 是高。
  • 圆锥体体积 V = 1/3π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:

来源:

来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/573

提交:

在这里插入图片描述

题解:

#include<stdio.h>

// 若 PI 精度过低,则提交通不过
#define PI 3.1415926535

// 球体体积
void ball(void);

// 圆柱体体积
void cylinder(void);

// 圆锥体体积
void cone(void);

int main(void) {
    int choice;

    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", &choice);

        switch (choice) {
            case 1:
                ball();
                break;
            case 2:
                cylinder();
                break;
            case 3:
                cone();
                break;
            default:
                return 0;
        }
    }
}

/*
 * 球体体积
 */
void ball(void) {
    double r;
    printf("Please enter the radius:\n");
    scanf("%lf", &r);
    printf("%.2lf\n", 4.0 / 3 * PI * r * r * r);
}

/*
 * 圆柱体体积
 */
void cylinder(void) {
    double r, h;
    printf("Please enter the radius and the height:\n");
    scanf("%lf %lf", &r, &h);
    printf("%.2lf\n", PI * r * r * h);
}

/*
 * 圆锥体体积
 */
void cone(void) {
    double r, h;
    printf("Please enter the radius and the height:\n");
    scanf("%lf %lf", &r, &h);
    printf("%.2lf\n", 1.0 / 3 * PI * r * r * h);
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春天熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值