例子:

  要求:醫務工作者通過廣泛的調查和統計分析,根據成人的身高與體重因素給出了按“體質指數”進行判斷的方法,具體如下:

  • 體質指數t=體重 w/(身高h)2(w的單位為kg,h的單位為m)
  • 當t<18kg/m2時,為低體重;
  • 當t介於18kg/m2和25kg/m2之間時,為正常體重;
  • 當t介於25kg/m2和27kg/m2之間時,為超重體重;
  • 當t>=27kg/m2之間時,為肥胖;

  程式設計實現:從鍵盤輸入您的身高w和體重h,根據上述公式計算體質指數t,然後判斷您的體重屬於何種型別

  具體要求:

  1. 輸入,輸出要有提示資訊,程式執行結果示例如下:

  請輸入您的身高(單位為m):1.6

  請輸入您的體重(單位為kg):50

  您的體重正常!(可以在基本框架上加以修改)

  2.選擇合適的選擇語句

  3.針對四種不同情況,分別輸入不同資料得到不同結果,來進行驗證這個程式正確性

  4.輸入負數會得到什麼?該怎麼修改呢?

思路:

  分析整體可以得知這是一個範圍性的選擇,在這裡 李同學用的是if...else語句,其實單用if語句也可以

  但是這次就用一種進行執行就好了 要記住 只要程式碼能跑 就不要再改了

  特別提醒:一定要注意運算子號的使用,不止加減乘除,更有與或非的靈活運用

  話不多說 上程式碼!!

#define _CRT_SECURE_NO_WARNINGS 1//在這裡定義一個巨集避免報錯而已,但是李同學將後面的scanf都改為了scanf_s所以這裡去掉也問題不大
#include<stdio.h>
#include<math.h>//因為李同學在程式碼中用到公式pow(,),所以加了一個定義數學函式
int main()
{
int t;//常規定義變數
float w, h, i;
printf("歡迎使用李同學寫的檢測體重是否在標準範圍內的程式碼!\n");
{
printf("請輸入您的身高(單位為m):");
scanf_s("%f", &h);
}
{
printf("請輸入您的體重(單位為kg):");
scanf_s("%f", &w);
}//因為要根據題目的型別輸出,所以李同學就直接用兩個大括號將兩部分隔開了,如果有別的做法歡迎斧正,感謝!!
{
i = pow(h, 2);//套用公式得出t值
t = w / i;
}
//進行判斷t值範圍,從而輸出結果
if (t < 18)
{
printf("你也太苗條了吧,是時候要讓自己吃的更好一點了\n");
} else if (18 <= t && t< 25)
{
printf("很不錯喔,和李同學一樣的標準體重喔,請繼續保持!\n");
}
else if (25 <= t && t< 27)
{
printf("這位同學你似乎有點壯喔,超出標準體重一點點喔,請注意飲食!\n");
}
else if (t >= 27)
{
printf("這位同學,從今天開始就把自己的飲食控制好吧,從此變身萬人迷!!\n");
}
else
{
printf("請不要戲弄我!!");
}
printf("歡迎您再次執行本程式,謝謝");
}

在這裡就給出一組執行結果就好了:

  如果需要判定輸入是否為正數時,可以在最外層再套一層判定,因為李同學沒有實驗過,歡迎糾錯!感謝!

難度指數:一顆星

歡迎給出最優解!!