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);
    
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装