Menu
CoddyTech

复习挑战 #2

本课属于 Coddy C 学习旅程的“基础知识”单元。第 36 课,共 63 课。

challenge icon

挑战

简单

创建一个程序,读取一个人的体重(单位为 kg)和身高(单位为米),然后:

  1. 检查每项输入是否为数字(scanf 返回 1)
    如果体重或身高不是数字,则打印:Invalid input type!
  2. 验证体重是否在 30 到 300 kg 之间
    如果体重超出范围,则打印:Weight out of range!
  3. 验证身高是否在 1.0 到 2.5 米之间
    如果身高超出范围,则打印:Height out of range!
  4. 如果所有验证都通过,则计算并打印 BMI(身体质量指数),保留 1 位小数
    • BMI 公式:weight / (height * height)
  5. 根据 BMI 打印这个人的体重类别:
    • 低于 18.5:Underweight
    • 18.5 到 24.9:Normal weight
    • 25.0 到 29.9:Overweight
    • 30.0 或更高:Obese

有效输入的输出格式示例:

BMI: 24.8
Category: Normal weight

亲手试试

#include <stdio.h>

int main() {
    float weight, height, bmi;
    int weight_result, height_result;
    weight_result = scanf("%f", &weight);
    height_result = scanf("%f", &height);

    // 验证输入
    
    // 计算 BMI
    
    // 判断体重类别
    
    // 打印结果
    
    return 0;
}

基础知识中的所有课

自己练习: C 在线编译器