鱼C论坛

 找回密码
 立即注册
查看: 530|回复: 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
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-26 09:02:23 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 15:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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