PTA-R7-1 圆形体体积计算器
R7-1 圆形体体积计算器
分数 20
全屏浏览题目
切换布局
作者 张高燕
单位 浙江大学
本题要求实现一个常用圆形体体积的计算器。计算公式如下:
- 球体体积 V=4π*r3/3,其中r是球体半径。
- 圆柱体体积 V=π *r2h,其中r是底圆半径,h是高。
- 圆锥体体积 V=π *r2h/3,其中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:

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 M
注:Π(音:派)的数字只限定在6位小数的话计算值是错的。。
1 #include <stdio.h>
2
3 void face(); //函数声明1,每次的界面输出
4
5 struct volume{
6 int num;
7 double r;
8 double h;
9 double ver;//体积
10 };
11
12 int main()
13 {
14 double x = 3.1415926535;
15 struct volume v[9999];
16
17 int i = 0;
18 while(1){
19 scanf("%d", &v[i].num);
20 if(v[i].num == 1){
21 scanf("%lf", &v[i].r);
22 }else if(v[i].num == 2){
23 scanf("%lf %lf", &v[i].r, &v[i].h);
24 }else if(v[i].num == 3){
25 scanf("%lf %lf", &v[i].r, &v[i].h);
26 }else{
27 break;
28 }
29 i++;
30 }
31 i = 0;
32 while(1){
33 face();
34 if(v[i].num == 1){
35 printf("Please enter the radius:\n");
36 v[i].ver = 4 * x * v[i].r * v[i].r * v[i].r / 3;
37 }else if(v[i].num == 2){
38 printf("Please enter the radius and the height:\n");
39 v[i].ver = x * v[i].r * v[i].r * v[i].h;
40 }else if(v[i].num == 3){
41 printf("Please enter the radius and the height:\n");
42 v[i].ver = x * v[i].r * v[i].r * v[i].h / 3;
43 }else{
44 break;
45 }
46 printf("%.2f\n", v[i].ver);
47 i++;
48 }
49
50 return 0;
51 }
52
53 void face() //函数定义1
54 {
55 printf("1-Ball\n");
56 printf("2-Cylinder\n");
57 printf("3-Cone\n");
58 printf("other-Exit\n");
59 printf("Please enter your command:\n");
60 }
PTA-R7-1 圆形体体积计算器的更多相关文章
- PTA数据结构 习题2.1 简单计算器 (20分)
习题2.1 简单计算器 (20分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算 ...
- 第六次学习总结&&第四次实验总结
Java实验报告 班级 1班 学号 20188390 姓名 宋志豪 实验四 类的继承 1.实验目的 (1)掌握类的继承方法: (2)变量的继承和覆盖,方法的继承.重载和覆盖实现: 2.实验内容 实验代 ...
- C语言第六次作业--数据类型
一.PTA实验作业 题目1,简单计算器: 1. 本题PTA提交列表 2. 设计思路 定义操作数num1,num2,结果result=0.运算符ch. 输入num1 while (ch=getchar( ...
- GPS精度因子(GDOP,PDOP,HDOP,VDOP,TDOP)
PDOP:位置精度因子(Position Dilution of Precision),直译为“精度强弱度”,通常翻译为“相对误差”.具体含义是:由于观测成果的好坏与被测量的人造卫星和接收仪间的几何形 ...
- C语言基础二
C--顺序程序设计 赋值语句 赋值语句和赋值表达式的区别: if((a = b) > 0) t = 0; 字符数据的输入输出 putchar函数 该函数为字符输出函数,其作用是向终端数出一个字符 ...
- 神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL !
前言 开心一刻 一个中国小孩参加国外的脱口秀节目,因为语言不通,于是找了一个翻译. 主持人问:“Who is your favorite singer ?” 翻译:”你最喜欢哪个歌手啊 ?” 小孩 ...
- Python输入input、输出print
1.输入input input是用于输入数据给变量.通过键盘输入的是字符串,如果需要其他格式,需要做转换.比如int.float类型数据,int() 如下是一个例子: 如果a不进行int转换,那么输入 ...
- Python中用函数实现代码的复用
# Python中用函数实现代码复用 """ def funcname(paras): statements return [expression] 关于函数定义说明如下 ...
- PTA 简单计算器(C语言)
模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数.遇 ...
- PTA面向对象程序设计6-3 面积计算器(函数重载)
实现一个面积计算器,它能够计算矩形或长方体的面积. 函数接口定义: int area(int x, int y); int area(int x, int y, int z); 第一个函数计算长方形的 ...
随机推荐
- 死磕rmi之 RegistryImpl
Registry初始化 可以把注册中心理解为特殊的远程对象,这个对象就像一个容器一样,存储其他远程对象. 可以本地直接调用四大方法,也可通过调用远程对象的方式调用. 查看一下类继承关系 可参照http ...
- CLIP 改进工作串讲(下)学习笔记
1.图像生成 1.1CLIPasso(semantically-aware object sketching) 将物体的照片变成简笔画的形式,希望即使有最少的线条,也能识别出来物体. 问题定义,在纸上 ...
- 时间戳转换为yyyy-MM-dd格式
原文链接https://blog.csdn.net/hu104160112/article/details/111167033
- Windows.h 文件学习
SDk :软件开发工具包 Api :Windows操作系统提供给应用程序编程的接口,windows.h 窗口:窗口是屏幕上的一块矩形区域,是Windows应用程序与用户进行交互的接口,分为客户区与非 ...
- npm发包
1.npm init 2.注册npm,https://www.npmjs.com/ 3.npm需要更新最新的npm 4.npm login 5.npm publish --access=public
- 用浏览器打开pdf格式的文件默认全屏显示
打开地址如 http://xxxxx.pdf 在文件地址后面添加#view=FitH,top,可实现全屏查看pdf文件. http://xxxxx.pdf#view=FitH,top,
- java正则解析ip
public class test { public static void main(String[] args) { // TODO Auto-generated method stub Stri ...
- QML笔记——MouseArea的覆盖区域
问题摘要: 初学QML,今天发现一个奇怪的现象,调用MouseArea的位置不同,结果不同. 1.一个简单的qml示例 Rectangle { id: root width: 320 height: ...
- Docker私服(Registry)
Docker Registry安装 #拉取镜像 docker pull registry #创建文件夹 mkdir -p /var/my_registry #启动容器 docker run -d -- ...
- 批量添加esxi主机到Vcenter
1 连接vcenter Connect-VIServer -Protocol https -User 'administrator@vsphere.local' -Password 'Vcenter密 ...