标题:为什么答案都是“低体重”
只看楼主
qq604911716
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2014-9-26
结帖率:100%
已结贴  问题点数:10 回复次数:7 
为什么答案都是“低体重”
程序代码:
#include <stdio.h>
void main()
{
    int w,t;
    float h;
    printf("请输入你的身高m和体重kg(用逗号隔开):");
    scanf("%d,%d",&h,&w);
    t=w/(h*h);
    if(18>t)
        printf("低体重");
    else if(18<=t&&t<25)
            printf("正常体重");
        else if (25<=t&&t<27)
            printf("超重体重");
            else
                printf("肥胖");

}

搜索更多相关主题的帖子: color 
2014-10-19 14:54
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
你把t定义为float试试看
2014-10-19 15:02
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
t=w/(h*h);
在你进行这个操作时,t已经不是整型了
2014-10-19 15:02
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
得分:10 
简单说说:
楼上的解答只说了一半,其实这个错误不会太影响结果
更重要的错误是    scanf("%d,%d",&h,&w);
h是浮点型变量,用int整形去输入 问题
2014-10-19 16:24
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
得分:0 
Two:
float w,t;
scanf("%f%f",&h,&w);
2014-10-21 02:24
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
得分:0 
你scanf("%d,%d",&h,&w);之后,在printf一下h和w,看看是不是接受输入有问题。

一个单片机就让我头疼不已~~~
2014-10-21 10:40
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
得分:0 
你scanf("%d,%d",&h,&w);之后,在printf一下h和w,看看是不是接受输入有问题。

一个单片机就让我头疼不已~~~
2014-10-21 10:40
zhelongyi
Rank: 1
等 级:新手上路
帖 子:10
专家分:8
注 册:2014-10-2
得分:0 
全部换成float试试
2014-10-21 11:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-437427-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.436368 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved