Husky_989
2017-11-19 06:52
采纳率: 33.3%
浏览 766

判断语句为什么没用(新手求教)

判断语句执行后为什么没有作用

图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • T_world 2017-11-19 07:14
    已采纳

    t是一个浮点数,在计算机的世界里,浮点数无法精确地等于某个数,因此判断一个浮点数等于多少的时候一般不会用==符号,而是与这个数作差,如果差在某个精度内等于0就可以认为是和这个数相等的,因此你的代码改成如下这样即可:

    
    #include"stdio.h"
    #include"math.h"
    
    void main()
    {
        double x1,y1, x2, y2,d, s, t;
        int s1;
        while(scanf("%lf,%lf %lf,%lf", &x1, &y1, &x2, &y2)!= EOF)
        {
            d = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
            s = 0.5*d*d;
            s1 = (int)s;
            printf("d: %lf", d);
            printf("%lf\n", s);
            printf("%d\n", s1);
            t = s-s1;
            printf("%lf\n", t);
            if((t-0)<0.00000001)
                printf("%d\n", s1);
            else
                printf("%.1lf\n", s);
    
        }
    }
    
    
    点赞 评论

相关推荐 更多相似问题