永发信息网

这是我写的代码,可是提交上pta就会显示格式错误请问我有什么错了吗,应该怎样改善?

答案:2  悬赏:10  手机版
解决时间 2021-11-09 09:07
  • 提问者网友:疯子也有疯子的情调
  • 2021-11-08 17:36
这是我写的代码,可是提交上pta就会显示格式错误请问我有什么错了吗,应该怎样改善?
最佳答案
  • 五星知识达人网友:旧脸谱
  • 2021-11-08 19:12
#include
#include
 
int main()
{ double a,b,c,d,e,f;
  scanf("%lf %lf %lf %lf %lf %lf",&a,&b,&c,&d,&e,&f );
  double AB,BC,AC,ab,bc,ac;
  ab=(a-c)*(a-c)+(b-d)*(b-d);
  bc=(c-e)*(c-e)+(d-f)*(d-f);
  ac=(a-e)*(a-e)+(b-f)*(b-f);
  AB=sqrt(ab);
  BC=sqrt(bc);
  AC=sqrt(ac);
  if((AB  double l=AB+BC+AC;
  double P = l / 2;
  double s = sqrt(P*(P-AB)*(P-BC)*(P-AC));
  printf("L = %.2f, A = %.2f",l,s); }//这里好像没有换行
  else
  {printf ("Impossible");
  }
  return 0;
}追问我是换行时多了一个空格现在发现了
全部回答
  • 1楼网友:行路难
  • 2021-11-08 20:10
你的读取格式每个%lf之间都有一个空格。读取的时候每个数之间需要输2个空格,而你输入是按1个空格留的,因此输入错误。解决办法:把scanf语句中每个%lf之间的空格都删掉,变成%lf%lf%lf%lf%lf%lf,这样输入的时候数之间输1个空格就可以了。
另外:不要在程序中乱加空格。书上带空格是为了让人阅读方便,不是让你按那个加空格。追问我试过了,还是一样还是格式错误
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯