iT邦幫忙

2021 iThome 鐵人賽

DAY 14
1
Software Development

C 語言的簡單入門系列 第 14

【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~


上一篇
【Day 13】C語言的 if 條件判斷(下)
下一篇
【Day 15】switch statement
系列文
C 語言的簡單入門30

尚未有邦友留言

立即登入留言