写在前面:

题解是对具体题目的编程实现,不会具体讲解C语言语法。请先大致学习好语法,自己敲敲代码后再看题解(上来就直接看题解的习惯不好哟~)。在每一题的题解之前,会列出本题涉及到的语法知识供参考,可以在教材或其他学习资源找到这些内容学习。😀


本题的预备知识:

  • 变量的定义与赋值操作
  • 输入(scanf)输出(printf)语句 
  • 宏定义(define)(可以不使用)

计算圆柱的侧面积及体积

成绩

5

开启时间

2020年03月14日 星期六 08:00

折扣

0.8

折扣时间

2020年04月28日 星期二 23:55

允许迟交


关闭时间

2020年05月30日 星期六 23:55

该如何处理 double 型的数据:如何定义变量类型?如何使用 scanf 函数?

如果已知圆柱的底面半径 r ,以及高 h ,则可计算出圆柱的侧面积 s=2 π r h ,体积 v=π r 2 h 。其中 π=3.1415926。

输入:
第一行输入圆柱的底面半径 r
第二行输入圆柱的高 h

输出:
s=< 圆柱的侧面积 >,v=< 圆柱的体积 >

要求
1. 所有变量都定义为双精度类型
2. 结果精确到小数点后两位

 

测试输入

期待的输出

时间限制

内存限制

额外进程

测试用例 1

  1. 2↵
  2. 8↵
  1. s=100.53,v=100.53↵

1秒

64M

0

测试用例 2

  1. 5↵
  2. 10↵
  1. s=314.16,v=785.40↵

1秒

64M

0


题解 

#include <stdio.h>  //导入stdio.h库,里面包含输入输出函数
#define PAI 3.1415926

int main() {
    double r, h; //定义两个双精度浮点型变量
    scanf("%lf %lf", &r, &h);
    double s = 2 * PAI * r * h;
    double v = PAI * r * r * h;
    printf("s=%.2f,v=%.2f\n", s, v);
}

 注意,本题使用了宏定义define,其意义是:在编译程序的时候,编译器会自动将程序内的PAI替换成3.1415926。


易错点

  1. 注意输出double的时候应该是%f,本题需要保留两位小数,所以是%.2f
  2. 可以不采用宏定义,直接在PAI位置写3.1415926。意思是一样的,但是采用宏定义是很好的编程习惯
  3. 经过尝试,采用Π取3.14精度不够,与答案要求有小误差,所以要多取几位呀~