1 条题解
-
0
C :
#include <stdio.h> #include <math.h> int main() { int a,b,c; double area,p; scanf("%d %d %d",&a,&b,&c); p=(a+b+c)/2.0; if((a+b>c)&&(a+c>b)&&(b+c>a)) {area=sqrt(p*(p-a)*(p-b)*(p-c)); printf("%.3f",area);} printf("\n"); return 0; }
C++ :
#include <stdio.h> #include <math.h> #define calcS(a, b, c) (0.5 * ((a) + (b) + (c))) #define calcArea(a, b, c) \ (sqrt(calcS(a, b, c) * \ (calcS(a, b, c) - (a)) * \ (calcS(a, b, c) - (b)) * \ (calcS(a, b, c) - (c)))) int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); printf("%.3f\n", calcArea(a, b, c)); return 0; }
Pascal :
var a,b,c:longint; s,d:double; begin readln(a,b,c); d:=(a+b+c)/2; s:=sqrt(d*(d-a)*(d-b)*(d-c)); writeln(s:0:3); end.
Java :
import java.text.DecimalFormat; import java.util.Scanner; public class Main { static DecimalFormat df = new DecimalFormat("0.000") ; public static void main(String[] args) { Scanner s = new Scanner(System.in) ; int a = s.nextInt() ; int b = s.nextInt() ; int c = s.nextInt() ; if(a+b>c&&a+c>b&b+c>a){ System.out.println(f(a, b, c)) ; } } static String f(int a , int b , int c){ double s = ((double)a+(double)b+(double)c)/2 ; double area = Math.sqrt(s*(s-a)*(s-b)*(s-c)) ; return df.format(area) ; } }
- 1
信息
- ID
- 1342
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者