suchenxiang 发表于 2022-1-25 21:47:33

希望能帮我这段代码再改得更简洁一点,谢谢!

#include<stdio.h>

int main()
{
        float weight,high,BMI;
       
        printf("欢迎使用BMI计算工具\n");
       
        printf("请输入您的身高:(单位:米)\n");
        scanf("%f",&high) ;
        printf("请输入您的体重:(单位:千克)\n");
        scanf("%f",&weight);
       
        BMI=weight/(high*high);
        printf("您的BMI值为:%.1f\n",BMI);
       
        if(BMI>35)
        {
                printf("重度肥胖\n");
       }
       else if(BMI>30&&BMI<=35)
       {
               printf("中度肥胖\n");
       }
       else if(BMI>27&&BMI<=30)
       {
               printf("轻度肥胖");
       }
              else if(BMI>24&&BMI<=27)
       {
               printf("轻度肥胖\n");
       }
              else if(BMI>18.5&&BMI<=24)
       {
               printf("体重标准\n");
       }
               else if(BMI<18.5)
       {
               printf("体重过轻\n");
       }
        return 0;
}

大马强 发表于 2022-1-25 22:12:24

if else 语句够简洁了吧,而且你那有两个轻度肥胖,我觉得可以这样改
#include<stdio.h>

int main()
{
      float weight,high,BMI;
      
      printf("欢迎使用BMI计算工具\n");
      
      printf("请输入您的身高:(单位:米)\n");
      scanf("%f",&high) ;
      printf("请输入您的体重:(单位:千克)\n");
      scanf("%f",&weight);
      
      BMI=weight/(high*high);
      printf("您的BMI值为:%.1f\n",BMI);
      
      if(BMI>35)
            printf("重度肥胖\n");
         else if(BMI>30&&BMI<=35)
            printf("中度肥胖\n");
         else if(BMI>24&&BMI<=30)
            printf("轻度肥胖");
      else if(BMI>18.5&&BMI<=24)
            printf("体重标准\n");
      else
            printf("体重过轻\n");
      return 0;
}

人造人 发表于 2022-1-25 22:29:21

#include <stdio.h>

const char *get_str(float bmi) {
    if(bmi > 35) return "重度肥胖";
    if(bmi > 30) return "中度肥胖";
    if(bmi > 24) return "轻度肥胖";
    if(bmi > 18.5) return "体重标准";
    return "体重过轻";
}

int main() {
    float weight, high, BMI;

    printf("欢迎使用BMI计算工具\n");

    printf("请输入您的身高:(单位:米)\n");
    scanf("%f", &high);
    printf("请输入您的体重:(单位:千克)\n");
    scanf("%f", &weight);

    BMI = weight / (high * high);
    printf("您的BMI值为:%.1f\n", BMI);
    puts(get_str(BMI));
    return 0;
}

翼是孤独 发表于 2022-1-25 22:55:03

#include<stdio.h>
int main()
{
      float weight,high,BMI;

      printf("欢迎使用BMI计算工具\n");
      printf("请输入您的身高:(单位:米)\n");
      scanf("%f", &high) ;
      printf("请输入您的体重:(单位:千克)\n");
      scanf("%f", &weight);
      
      BMI = weight /(high * high);
      printf("您的BMI值为:%.1f\n", BMI);
      
      printf(BMI <= 18.5 ? "体重过轻\n" : BMI <= 24 ? "体重标准\n" : BMI <= 30 ? "轻度肥胖\n" : BMI <= 35 ? "中度肥胖\n" : "重度肥胖\n");
      return 0;
}

傻眼貓咪 发表于 2022-1-26 09:02:23

#include <stdio.h>

int main()
{
        printf("欢迎使用BMI计算工具\n");
        float weight, high, BMI;
       
        printf("请输入您的身高:(单位:米)\n");
        scanf("%f", &high);
       
        printf("请输入您的体重:(单位:千克)\n");
        scanf("%f", &weight);
       
        BMI = weight/(high*high);
        printf("您的BMI值为:%.1f\n", BMI);
        printf(BMI > 35 ? "重度肥胖" : BMI > 30 ? "中度肥胖" : BMI > 24 ? "轻度肥胖" : BMI > 18.5 ? "体重标准" : "体重过轻");
       
        return 0;
}
页: [1]
查看完整版本: 希望能帮我这段代码再改得更简洁一点,谢谢!