问题标题: 酷町堂:1729 三角形面积(三边版本)

0
0
已解决
王子桐
王子桐
高级光能
高级光能

1729   三角形面积(三边版本)经验值:800

题目描述 Description

已知三角形三边长a,b,c,要求三角形面积。如果无法计算,输出“No”。

输入描述 Input Description

三角形三边长度a,b,c,三个数字用空格隔开(1<=a,b,c,<=10000)

输出描述 Output Description

一行,一个数字,三角形的面积,保留2位小数
如果无法输出则输出No。

样例输入 Sample Input

3 4 5

样例输出 Sample Output

6.00

数据范围及提示 Data Size & Hint

已知三角形三边a,b,c,则 (p=(a+b+c)/2) 面积S=sqrt[p(p-a)(p-b)(p-c)]

 

 

 

 

我的代码

#include<iostream>
#include<cstdio>
#include<cmath>
/*
已知三角形三边a,b,c,则 (p=(a+b+c)/2) 面积S=sqrt[p(p-a)(p-b)(p-c)]
*/
using namespace std;
int main(){
    double a,b,c,p;
    cin>>a>>b>>c;
    if(a+b>c&&a+c>b&&b+c>a){
        p=(a+b+c)/2;
        printf("%.2f",(p-a)*(p-b)*(p-c));
    }else{
        cout<<"No";
    }
    return 0;
}

为什么是20?


0
已采纳
张展嘉
张展嘉
新手天翼
新手天翼

double a,b,c,s,p;

cin>>a>>b>>c;

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

if(a+b>c&&a+c>b&&b+c>a){

printf("%.2f",s);

}else cout<<"No";

记得要加cmath头文件

0
汪恺恒
汪恺恒
中级启示者
中级启示者

面积应该是

sqrt(p*(p-a)*(p-b)*(p-c))

注意要加头文件#include<cmath>

我要回答