这个题:
P5708 【深基2.习2】三角形面积 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P5708传送门在上
是的,很简单,但是这里我一开始用的float,然后有一个点错了:
为啥为啥为啥???
其实也不算大坑,但是需要注意:
对!数据种类出问题了!一下是这个80分的代码:
#include<bits/stdc++.h>
using namespace std;
float a,b,c;
int main(){
cin>>a>>b>>c;
float p=0.5*(a+b+c);
cout<<fixed<<setprecision(1)<<sqrt(p*(p-a)*(p-b)*(p-c));
return 0;
}
觉得没啥问题?试一试这组数据,就是这个测试点的:888.88,888.88,888.88
输出应该是342126.7,但是这个代码输出的是342126.(蜜汁沉默)。。。8!
对!342126.8!
这里就是上面的注意里面的问题了
注意吧,说不定各位哪天就因为没用对double和float翻车哩(悲)
上面代码数据类型改成double就过哩