2215 - 判断并求救三角形的面积
时间限制 : 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")