#include<iostream>
#include<cmath>
using namespace std;
double f(double a,double b,double c){
double s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}
int main(){
cout.flags(ios::fixed);
cout.precision(4);
int a,b,c;
cin>>a>>b>>c;
cout<<f(a,b,c)<<endl;
return 0;
}
第3题:(2分)程序总是输出四位小数( )
答案是 正确 ,但输入 1 1 3 时输出的是nan。
因为
return sqrt(s*(s-a)*(s-b)*(s-c));```
----------------------------^-----
是因为这里变成了负数吗?
所以,我觉得这题应该选 错误 。