鱼C论坛

 找回密码
 立即注册
查看: 656|回复: 4

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

[复制链接]
发表于 2022-1-25 21:47:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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-26 09:02:23
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         printf("欢迎使用BMI计算工具\n");
  5.         float weight, high, BMI;
  6.        
  7.         printf("请输入您的身高:(单位:米)\n");
  8.         scanf("%f", &high);
  9.        
  10.         printf("请输入您的体重:(单位:千克)\n");
  11.         scanf("%f", &weight);
  12.        
  13.         BMI = weight/(high*high);
  14.         printf("您的BMI值为:%.1f\n", BMI);
  15.         printf(BMI > 35 ? "重度肥胖" : BMI > 30 ? "中度肥胖" : BMI > 24 ? "轻度肥胖" : BMI > 18.5 ? "体重标准" : "体重过轻");
  16.        
  17.         return 0;
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-25 22:12:24 | 显示全部楼层
if else 语句够简洁了吧,而且你那有两个轻度肥胖,我觉得可以这样改
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         float weight,high,BMI;
  5.       
  6.         printf("欢迎使用BMI计算工具\n");
  7.       
  8.         printf("请输入您的身高:(单位:米)\n");
  9.         scanf("%f",&high) ;
  10.         printf("请输入您的体重:(单位:千克)\n");
  11.         scanf("%f",&weight);
  12.       
  13.         BMI=weight/(high*high);
  14.         printf("您的BMI值为:%.1f\n",BMI);
  15.       
  16.         if(BMI>35)
  17.             printf("重度肥胖\n");
  18.          else if(BMI>30&&BMI<=35)
  19.             printf("中度肥胖\n");
  20.          else if(BMI>24&&BMI<=30)
  21.             printf("轻度肥胖");
  22.         else if(BMI>18.5&&BMI<=24)
  23.             printf("体重标准\n");
  24.         else
  25.             printf("体重过轻\n");
  26.         return 0;
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 22:29:21 | 显示全部楼层
  1. #include <stdio.h>

  2. const char *get_str(float bmi) {
  3.     if(bmi > 35) return "重度肥胖";
  4.     if(bmi > 30) return "中度肥胖";
  5.     if(bmi > 24) return "轻度肥胖";
  6.     if(bmi > 18.5) return "体重标准";
  7.     return "体重过轻";
  8. }

  9. int main() {
  10.     float weight, high, BMI;

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

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

  16.     BMI = weight / (high * high);
  17.     printf("您的BMI值为:%.1f\n", BMI);
  18.     puts(get_str(BMI));
  19.     return 0;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-25 22:55:03 | 显示全部楼层
  1. #include<stdio.h>
  2. int main()
  3. {
  4.         float weight,high,BMI;

  5.         printf("欢迎使用BMI计算工具\n");
  6.         printf("请输入您的身高:(单位:米)\n");
  7.         scanf("%f", &high) ;
  8.         printf("请输入您的体重:(单位:千克)\n");
  9.         scanf("%f", &weight);
  10.       
  11.         BMI = weight /(high * high);
  12.         printf("您的BMI值为:%.1f\n", BMI);
  13.       
  14.         printf(BMI <= 18.5 ? "体重过轻\n" : BMI <= 24 ? "体重标准\n" : BMI <= 30 ? "轻度肥胖\n" : BMI <= 35 ? "中度肥胖\n" : "重度肥胖\n");
  15.         return 0;
  16. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-26 09:02:23 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         printf("欢迎使用BMI计算工具\n");
  5.         float weight, high, BMI;
  6.        
  7.         printf("请输入您的身高:(单位:米)\n");
  8.         scanf("%f", &high);
  9.        
  10.         printf("请输入您的体重:(单位:千克)\n");
  11.         scanf("%f", &weight);
  12.        
  13.         BMI = weight/(high*high);
  14.         printf("您的BMI值为:%.1f\n", BMI);
  15.         printf(BMI > 35 ? "重度肥胖" : BMI > 30 ? "中度肥胖" : BMI > 24 ? "轻度肥胖" : BMI > 18.5 ? "体重标准" : "体重过轻");
  16.        
  17.         return 0;
  18. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 02:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表