洛谷 B2029 大象喝水

今天咱们继续来顺着洛谷题单广场里面的【入门1】顺序结构的第12题 B2029 大象喝水,这道题目会介绍下等价于if-else函数的三目运算符,话不多说上题目

题目描述

洛谷 B2029 大象喝水_第1张图片

这道题目就是让我们算一个圆柱形水柱的体积,并且计算至少几个这样的圆柱体体积之和会大于20L,即20dm^3,即20000cm^3。在解读题目的时候就顺手将题目单位统一了,这样的话有利于后期我们的一些计算和比较。

但是计算了圆柱形水柱的体积v之后,我们还要判断20000能否被v整除,可以的话直接输出20000/v,但是不能的话我们就要输出20000/v+1的结果了。我们可以用if-else实现,但是今天我们来使用三目运算符代替if-else结构。

三目运算符讲解

三目运算符,顾名思义,他需要同时对三个元素进行操作。

基本形式

x?a:b

参数解释

x:即为判断的条件,相当于if后面()里面的内容

a:x条件成立后执行的语句,相当于if后面的第一个语句块

b:x条件不成立后执行的语句,相当于else后面的第一个语句块

类比之下,我们的if-else是

if(x){

a;

}else{

b;

}

而我们的三目运算符写出来就是

x?a:b

C代码

所以我们直接上我们的AC代码

#include 
#define PAI 3.14        //宏定义PAI的大小全局应用
int main()
{
    int r,h;
    double v,n;
    scanf("%d %d",&h,&r);
    v=PAI*r*r*h;
    n=20000/v;
    20000/v==(int)n?:n++;        //运用三目运算符进行判断
    printf("%d",(int)n);
    return 0;
}

你可能感兴趣的:(洛谷题单广场,【入门1】顺序结构,#,题解,算法,c语言,c++,数据结构,动态规划)