xjh1303678317
柳比歇夫的一生
2018-12-18 11:28
采纳率: 71.4%
浏览 711

题目是:请问这个代码哪里要改进,我提交一直显示输入为实数 答案错误。

#include<math.h>
int main(void)
{
  float x1,x2,x3,y1,y2,y3;
  scanf("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3);
  float L,A,x,y,z,p;
  x=sqrt(pow(x1-x2,2)+pow(y1-y2,2));
  y=sqrt(pow(x1-x3,2)+pow(y1-y3,2));
  z=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
  if(x+y>z&&x-y<z)
  {
    L=x+y+z;
    p=L/2.0;
   A = sqrt( p * (p - x) * (p - y) * (p - z) );
    printf("L = %.2f, A = %.2f",L,A);
  }
  else
  printf("Impossible");
  return 0;


}

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

3条回答 默认 最新

  • weixin_44814196
    巅疯黑羊mie~ 2019-03-28 11:01
    已采纳

    这是PTA上的问题吧,我也遇到过,只要把坐标的类型改成double型就可以了

    点赞 评论
  • qq_31798135
    扯淡的沉默 2018-12-18 03:39

    添加上iostream头文件,把scanf改为scanf_s试试

    点赞 评论
  • weixin_44130607
    weixin_44130607 2018-12-18 15:23

    添加stdio.h头文件,去掉void,要输够6个数字

    点赞 评论

相关推荐