2215 - 判断并求救三角形的面积

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB


<span> </span>

输入三个数a、b、c,首先判断这三个数能否构成三角形,若能,则求出三角形的面积。

海伦公式;其中,a,b,c为边长。

<br />

<span><br />

<span><br />

题目输入

输入a,b,c 三个数值

题目输出

如果能构成三角形,则输入面试s;(答案保留1位小数)

如果不能构成三角形,则输出:false.

输入/输出样例

输入格式

5 6 7

输出格式

14.7

C语言解答

#include <stdio.h>
#include <math.h>
int main()
{
	double a,b,c,d;
    scanf("%lf%lf%lf",&a,&b,&c);
    d=(a+b+c)/2;
    if(a+b>c && a+c>b && b+c>a) 
        printf("%.1f",sqrt(d*(d-a)*(d-b)*(d-c)));
    else printf("false");
	return 0;
}

C++解答

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
	int a,b,c;
	double d,s;
	scanf("%d%d%d",&a,&b,&c);
	if((a+b>c)&&(a+c>b)&&(b+c>a)&&
	(abs(a-b)<c)&&(abs(b-c)<a)&&(abs(a-c)<b)){
		d=(a+b+c)/2;
		s=sqrt(d*(d-a)*(d-b)*(d-c));
		printf("%.1lf\n",s);
	}
	else printf("false\n");
	return 0;
}

Python解答

# coding=utf-8
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
if a+b>c and a+c>b and b+c>a:
    d=(a+b+c)/2
    s=round((d*(d-a)*(d-b)*(d-c))**0.5,1)
    print(s)
else:
    print("false")