这是我写的代码,可是提交上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;
}追问我是换行时多了一个空格现在发现了
#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 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个空格就可以了。
另外:不要在程序中乱加空格。书上带空格是为了让人阅读方便,不是让你按那个加空格。追问我试过了,还是一样还是格式错误
另外:不要在程序中乱加空格。书上带空格是为了让人阅读方便,不是让你按那个加空格。追问我试过了,还是一样还是格式错误
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯