【Day 14】if 条件的范例讲解

不知道大家在写 BMI 的题目时,有没有遇到甚麽问题呢?
我们今天就来讲解一下 BMI 的题目吧!
这是我写的程序码:

#include<stdio.h>
int main(){
	float height, weight, BMI;
	printf("请输入身高(m) 体重(kg),并用空白键区分>>  ");
	scanf("%f %f", &height, &weight);
	BMI = weight / (height * height);
	printf("BMI = %f,且", BMI);
	if(BMI < 18.5) 
		printf("您的体重过轻");
	else if(18.5 <= BMI && BMI < 24) 
		printf("您的体重适中"); 
	else
		printf("您的体重过重");	
	return 0;
	
}

这是输出结果:


当然可能因为每个人的思考模式不同,写出来的程序码也不一样。但只要能解决问题的程序,就是对的程序!!

先来讲讲写程序的思路:

1.我们可能需要宣告三个变数,分别是输入的身高体重,以及计算的 BMI,当然 BMI 这个变数也可以直接用计算式代替,但因为想要好懂一点,所以我用了 BMI 这个变数,而这三个变数可能会有小数点,所以我们宣告他为浮点数(float)。

2.scanf("%f %f", &height, &weight);这一行两个输入变数之间是空格,所以我们输入时要按照身高(空格)体重(enter)的形式。

3.我们有三个条件需要判断,值得注意的是if(18.5<=BMI && BMI<24)这一行,是 BMI 如果大於等於 18.5 BMI 小於 24 时为真,会往下执行。
以上就是我的思路~可以参考参考!!!

当然,这题相对简单,我们可以把条件都写满,也就是说我们计算出来的 BMI 数值一定会落在某一个判断式里面,在这个情况下我们就可以连用三个 if

#include<stdio.h>
int main(){
	float height, weight, BMI;
	printf("请输入身高(m) 体重(kg),并用空白键区分>>  ");
	scanf("%f %f", &height, &weight);
	BMI = weight / (height * height);
	printf("BMI = %f,且", BMI);
	if(BMI < 18.5) 
		printf("您的体重过轻");
	if(18.5 <= BMI && BMI < 24) 
		printf("您的体重适中"); 
	if(BMI >= 24)
		printf("您的体重过重");	
	return 0;
	
}

只是希望大家还是可以熟悉 ifelse 的搭配~
然而,当条件判断非常多的时候,我们或许可以使用"switch statement"会更有效率~
明天,就让我们来讲讲 switch statement~


<<:  TypeScript 能手养成之旅 Day 12 泛用型别(Generics Types)

>>:  [13th][Day21] scratch

【Day 29】Matplotlib 介绍

前言 Matplotlib 是一个把数据可视化的套件,他可以和 NumPy 一起连用,与 Matla...

RegExp vs includes vs match

前言 在筛选字串时,有不少选择提供我们使用,除了使用常见的直接比对字串的 includes 之外,还...

DAY 29 - 殭屍女孩 (2)

大家好~ 我是五岁~~~ 今天来把昨天的草稿整理一下~ 并让线条乾净点~以方便之後上色~ 我这次先用...

[NestJS 带你飞!] DAY29 - 实战演练 (上)

这个系列文即将进入尾声,是时候来验收一下前面所学到的东西了,虽然不会所有的功能都在此次实战演练中使用...

Day 12 : 案例分享(4.1) 签核与费用模组 - 费用申请流程

案例说明及适用场景 初期要上线使用odoo我最推荐的是费用核销模组 一方面可免除销售、采购、库存等较...