​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. spring boot 跨域

    spring boot提供了两种跨域配置方式 1.全局跨域 2.局部跨域 全局跨域 package com.tons.config; import org.springframework.contex ...

  2. 第三周作业-N67044-张铭扬

    1. 图文并茂说明raid0,raid1, raid10, raid01, raid5等原理. "RAID"是指独立硬盘冗余阵列(RAID, Redundant Array of ...

  3. 8. fitBounds(用了这个你就不用在设置zoom, minZoom, maxZoom, center)

    1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="U ...

  4. consul剔除某个服务

    curl --request PUT  http://ip:端口/v1/agent/service/deregister/服务对应的id地址

  5. ubuntu 查看已安装软件命令

    一.查看所有已安装软件包 dpkg -l 二.过滤安装包 yang@ubuntu:~/ansible$ dpkg -l | grep vim ii vim 2:8.1.2269-1ubuntu5.9 ...

  6. leecode76. 最小覆盖子串

    76. 最小覆盖子串 给你一个字符串 s .一个字符串 t .返回 s 中涵盖 t 所有字符的最小子串.如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" . 注意: ...

  7. 你应该知道的 50 个 Python 单行代码

    你应该知道的 50 个 Python 单行代码 1. 字母移位词:猜字母的个数和频次是否相同 2. 二进制转十进制 3. 转换成小写字母 4. 转换成大写字母 5. 字符串转换为字节类型 6. 复制文 ...

  8. C# 前台线程 后台线程区别

    前台线程 会随进程一起结束 不管是否完成,后台线程需要执行完毕,进程才能结束 例子: class Program { static void Main(string[] args) { Thread ...

  9. Pytorch实战学习(八):基础RNN

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Basic RNN ①用于处理序列数据:时间序列.文本.语音..... ②循环过程中权重共享机制 一.RNN原理 ① X ...

  10. python3.7安装Anaconda3+tensorflow2.1中遇到的问题

    最近想搞深度学习,就开始装tensorflow,其中也是遇到了一些问题,希望给遇到同类问题的童鞋一些提示.... 因为之前一直用的python3.7,虽然网上很多建议装python3.5版本tenso ...