​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 圆形体体积计算器的更多相关文章

  1. PTA数据结构 习题2.1 简单计算器 (20分)

    习题2.1 简单计算器 (20分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运算 ...

  2. 第六次学习总结&&第四次实验总结

    Java实验报告 班级 1班 学号 20188390 姓名 宋志豪 实验四 类的继承 1.实验目的 (1)掌握类的继承方法: (2)变量的继承和覆盖,方法的继承.重载和覆盖实现: 2.实验内容 实验代 ...

  3. C语言第六次作业--数据类型

    一.PTA实验作业 题目1,简单计算器: 1. 本题PTA提交列表 2. 设计思路 定义操作数num1,num2,结果result=0.运算符ch. 输入num1 while (ch=getchar( ...

  4. GPS精度因子(GDOP,PDOP,HDOP,VDOP,TDOP)

    PDOP:位置精度因子(Position Dilution of Precision),直译为“精度强弱度”,通常翻译为“相对误差”.具体含义是:由于观测成果的好坏与被测量的人造卫星和接收仪间的几何形 ...

  5. C语言基础二

    C--顺序程序设计 赋值语句 赋值语句和赋值表达式的区别: if((a = b) > 0) t = 0; 字符数据的输入输出 putchar函数 该函数为字符输出函数,其作用是向终端数出一个字符 ...

  6. 神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL !

    前言 开心一刻   一个中国小孩参加国外的脱口秀节目,因为语言不通,于是找了一个翻译. 主持人问:“Who is your favorite singer ?” 翻译:”你最喜欢哪个歌手啊 ?” 小孩 ...

  7. Python输入input、输出print

    1.输入input input是用于输入数据给变量.通过键盘输入的是字符串,如果需要其他格式,需要做转换.比如int.float类型数据,int() 如下是一个例子: 如果a不进行int转换,那么输入 ...

  8. Python中用函数实现代码的复用

    # Python中用函数实现代码复用 """ def funcname(paras): statements return [expression] 关于函数定义说明如下 ...

  9. PTA 简单计算器(C语言)

    模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数.遇 ...

  10. PTA面向对象程序设计6-3 面积计算器(函数重载)

    实现一个面积计算器,它能够计算矩形或长方体的面积. 函数接口定义: int area(int x, int y); int area(int x, int y, int z); 第一个函数计算长方形的 ...

随机推荐

  1. mybatis日志打印到控制台

    mybatis: configuration:# 日志输出到控制台 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  2. frp使用教程

    内网穿透工具---frp使用教程 https://blog.csdn.net/u011215939/article/details/103383373

  3. 对象可能是类数组对象 不具备数组的原型内的方法 所以可以用call或者apply把this指向改成数组或对象原型

    const arr = [] 2Object.prototype.toString.call(arr) === '[object Array]' // true 3 4 const obj = {} ...

  4. k8s安装metrics-server

    Kubernetes Metrics Server: Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的. Metrics ...

  5. Vue2 常见问题汇总及解决方案

    参考:https://mp.weixin.qq.com/s/6Wapb1bZLQaYv0zlip6ygg 1.安装超时(install timeout) 方案: cnpm : 国内对npm的镜像版本 ...

  6. vim 小记录

    将str1批量替换成str2 , 特殊符号前用转译符 \ :%s/str1/str2/g

  7. 基于北斗gps设计的NTP网络时间服务器

    基于北斗gps设计的NTP网络时间服务器 基于北斗gps设计的NTP网络时间服务器 京准电子科技官微--ahjzsz 随着5G等新型基础设施持续建设和发展,在未来万物互联的庞大信息网络中,跨路由节点之 ...

  8. SQL server 去掉重复数据

    只要数据表"列名"数据相同,则说明是两条重复的数据(ID为数据表的主键自动增长). 推荐使用方法一 -- 方法一 select * from 表名 A where not exis ...

  9. nodeJs 写个爬虫小玩意

    内容 起一个服务,爬某个网站的数据(我这里爬了个夕阳红游戏交易网站的数据),页面看到我要爬的内容 代码 1 //引入内置的http包 2 var http = require('http'); 3 c ...

  10. D3简介

    (一)D3简介 一.D3是什么 一张图片价值相当于一千个字 D3的全称是 Data-Driven Documents,直译为:数据驱动的文档 D3是一个javaScript的函数库,是用来做数据可视化 ...