如何用C语言和Python编写一个BMI指数计算器
寫在前面
??前些日子在學習C語言和Python的循環語句的時候,我心血來潮,想編寫一個實用性較高的程序。想來想去,我決定編寫一個BMI指數計算器。接下來,我將分享一下我編寫這個程序的過程,希望給大家帶來一些啟發。
BMI指數計算器1.0
??首先,我們先來編寫BMI指數計算器的核心部分。我們對這個程序進行分析,可以知道這個程序需要用戶輸入自己的身高(m)和體重(kg)值,再用體重除以身高的平方計算出BMI,最后使用printf()將其打印輸出。話不多說,我們現在就開始吧。
??首先我們使用Python 3.6來編寫它:
??使用C語言編寫它:
#include <stdio.h> int main (void) {printf ("********************BMI指數計算器********************\n"); float weight, height, BMI; char a[0]; printf ("Please input your weight by kilograms: "); scanf ("%f", &weight); printf ("Please input your height by metres: "); scanf ("%f", &height); BMI = weight / (height * height); printf ("Your BMI is %.1f. \n", BMI); if (BMI < 18.5){printf ("偏輕\n"); }else if (BMI >= 18.5 && BMI <= 23.9){printf ("正常\n"); }else if (BMI >= 24 && BMI <=27.9){printf ("超重\n"); }else if (BMI >= 28){printf ("肥胖\n"); }return 0; }改進——BMI指數計算器2.0
??我們不難發現,在運行這個程序的時候,程序在計算一次之后就會結束運行。結束一次計算之后倘若還想繼續新一次計算,我們需要再重新運行它。這在實際應用的時候是沒有可操作性的。針對這個問題,我們來進行一次改進。
??相信大多數人會想到while循環語句,我們不妨試一試。
??下面是用Python 3.6編寫的改進版程序。
??我們用C語言也同樣可以實現。
#include <stdio.h> int main (void) {printf ("********************BMI指數計算器********************\n"); while (1){ float weight, height, BMI; printf ("Please input your weight by kilograms: "); scanf ("%f", &weight); printf ("Please input your height by metres: "); scanf ("%f", &height); BMI = weight / (height * height); printf ("Your BMI is %.1f. \n", BMI); if (BMI < 18.5){printf ("偏輕\n"); }else if (BMI >= 18.5 && BMI <= 23.9){printf ("正常\n"); }else if (BMI >= 24 && BMI <=27.9){printf ("超重\n"); }else if (BMI >= 28){printf ("肥胖\n"); }}return 0; }新的問題與解決方案
??改進版的程序解決了上面提出的只能進行一次計算的問題,這很好。但新的問題又出現了——這個循環會一直進行下去。當我們想要結束計算的時候,我們沒有可以退出程序的方法(除非我們強制關閉這個程序)。這又該怎么辦呢?
??我想到的解決方案是在C程序中使用if語句。一次計算結束后,我們可以用printf()來輸出“是否要繼續”的字樣。在用戶鍵入“Y”之后,程序會執行continue繼續下一次運行;相反地,如果鍵入的是“N”,程序執行break退出循環。當然了,我們還要考慮到用戶不小心按錯“Y”或者“N”的情況。
??改進Python程序的思路和改進C程序的思路類似。
再一次改進——BMI指數計算器3.0
??既然有了想法,讓我們動手做起來,寫出完美無缺的程序吧!
??我們先對Python程序進行改進,使它成為完美的最終版本。
??下面是C語言編寫的BMI指數計算器3.0最終版。
#include <stdio.h> int main (void) {printf ("********************BMI指數計算器********************\n"); while (1){ float weight, height, BMI; char a[0]; printf ("Please input your weight by kilograms: "); scanf ("%f", &weight); printf ("Please input your height by metres: "); scanf ("%f", &height); BMI = weight / (height * height); printf ("Your BMI is %.1f. \n", BMI); if (BMI < 18.5){printf ("偏輕\n"); }else if (BMI >= 18.5 && BMI <= 23.9){printf ("正常\n"); }else if (BMI >= 24 && BMI <=27.9){printf ("超重\n"); }else if (BMI >= 28){printf ("肥胖\n"); }printf ("是否要繼續?(Y/N)"); scanf ("%s", a); if (a[0] == 'Y')continue; else if (a[0] == 'N')break; else{printf ("Error! \n"); }break; }return 0; }寫在最后
??希望我的這篇文章可以給大家帶來一些啟發。如果文章有一些錯誤,或者是有什么意見和建議的話,歡迎聯系我。大家一起學習,共同進步!
??我的郵箱:1398635912@qq.com
總結
以上是生活随笔為你收集整理的如何用C语言和Python编写一个BMI指数计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AT1278 Counting on a
- 下一篇: paintkeep未能连接到服务器,Pa