CCF NOI1002 三角形
问题链接:CCF NOI1002 三角形。
时间限制:
1000 ms 空间限制: 262144 KB
题目描述
输入三角形三边长a,b,c(保证能构成三角形),输出三角形面积。
输入
一行三个用一个空格隔开的实数a,b,c,表示三角形的三条边长。
输出
输出三角形的面积,答案保留四位小数。
样例输入
3 4 5
样例输出
6.0000
数据范围限制
1<=a,b,c<=10000
问题分析
这是一个简单的计算问题,需要注意输出格式。
需要事先知道三角形面积的计算公式。
程序说明
常用的浮点数类型有float和double。日常生活和一般的工程问题中,从精度上考虑,使用float是足够的。
程序中的2,是一种简单的写法,严格来说需要写成2.0。不同类型之间的运算,类型被缺省转换。
要点详解
- 人们常用的数的类型有整数和实数。而计算机语言中,相应的数据类型是整数类型和浮点数类型。
- 数值非常大或者非常小,精度要求高时,变量应该考虑使用double类型。
- 整数与浮点数的运算结果是浮点数。
- 函数scanf()和函数pringf()是标准输入输出函数,用于格式化的输入与输出,其原型定义在stdio.h中。
- 函数sqrt()是开平方根函数,其原型定义在math.h中。
- math.h中定义了大量的数学计算函数。一般而言,进行科学计算时,要尽量使用数学库函数。
100分通过的C语言程序之一:
#include <stdio.h> #include <math.h> int main(void) { float a, b, c, p; scanf("%f%f%f", &a, &b, &c); p= (a + b + c) / 2; printf("%.4f\n", sqrt(p * (p - a) * (p - b) * (p - c))); return 0; }