N1k000000 2022-10-14 23:52 采纳率: 84.4%
浏览 21
已结题

这个代码有逻辑错误,修改下

题目是:
输入三个点坐标
若该三点能构成三角形则输出周长和面积,否则输出Impossible;
现在只能输出Impossible。

#include <stdio.h>
int main()
{
   double a,b,c,d,e,f,g,h,i,k;
   scanf("%lf,%lf\n",&a,&b);
   scanf("%lf,%lf\n",&c,&d);
   scanf("%lf,%lf\n",&e,&f);
   g=sqrt((a-c)*(a-c)-(b-d)*(b-d));
   h=sqrt((c-e)*(c-e)-(d-f)*(d-f));
   i=sqrt((a-e)*(a-e)-(b-f)*(b-f));
   if(g+h<i&&g+i<h&&i+h<g){
       k=(g+h+i)/2;
       printf("primer=%.2f,area=%.2f",g+h+i,sqrt(k*(k-g)*(k-h)*(k-i)));
   }else{
       printf("Impossible");
   }
   return 0;
}


  • 写回答

2条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-14 23:59
    关注

    计算两点间距离有误,应该是相加,不是相减

    g=sqrt((a-c)*(a-c)+(b-d)*(b-d));
       h=sqrt((c-e)*(c-e)+(d-f)*(d-f));
       i=sqrt((a-e)*(a-e)+(b-f)*(b-f));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 已采纳回答 10月15日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作