注册 登录
编程论坛 C语言论坛

刚学,新手,求解

尔二 发布于 2020-11-03 21:32, 2052 次点击
#include<stdio.h>

int main()
{
    int h,w,t;
    printf("请输入体重:\n");
    scanf("%d",&w);
    printf("请输入身高:\n");
    scanf("%d",&h);
    t==w/(h*h);
    switch('t')
    {
    case't':
        if(t<18)
        {
            printf("低体重");
        }
        else
        {
            if(18<t<25)
            {
                printf("正常体重");
            }
            else
            {
                if(25<t<27)
                {
                    printf("超重体重");
                }
                else
                {
                    if(t>=27)
                    {
                        printf("肥胖");
                    }
                }
            }
            break;
        }
    }


}


这个能编出来,但是有问题,不管怎么输数值,都只会显示正常体重,不知道哪错了
5 回复
#2
小神女2020-11-03 21:42
回复 楼主 尔二
蹲一个
#3
自学的数学2020-11-03 22:10
有两点错误:
1:理性错误。就是没重量和身高没有单位,假设重量为千克,身高为厘米,如果体重为70千克。身高为1厘米。运行结论为肥胖。如果体重为70千克。身高为10厘米。运行结论为低体重,这和现实明显不符。
2:编程错误。不管怎么输数值,都只会显示低体重,现在修改如下。可以正常运行,但是还要你自己设定理性数据单位,以便合理。
程序代码:
#include<stdio.h>
int main()
{
    int h,w,t;
    printf("请输入体重:\n");
    scanf("%d",&w);
    printf("请输入身高:\n");
    scanf("%d",&h);
    t=w/(h*h);
    if(t<18)
            printf("低体重");
        else
        {
            if(18<t && t<25)
               printf("正常体重");
            else
            {
                if(25<t && t<27)
                    printf("超重体重");
                else
                {
                    if(t>=27)
                      printf("肥胖");
                }
            }
            
        }
    }
#4
尔二2020-11-04 11:27
回复 3楼 自学的数学
大佬,用switch呢?
#5
尔二2020-11-04 11:29
回复 3楼 自学的数学
还有那个单位是咋回事啊,用在编程里体现m吗。。。
#6
尔二2020-11-04 15:57
回复 3楼 自学的数学
懂了,非常感谢
1