简单几何题
数学课上,老师出了一道简单的关于三角形几何题,题目内容是:给出三个数字分别代表三条边,首先请判断利用这三条边是否可以组成一个三角形;如果可以,请计算三角形的周长和面积;否则,输出提示信息说明不能组成三角形。你可以用编程实现这道题的求解吗?
Input:
输入三个整数,a, b, c。
Output:
如果3边可以组成三角形,则输出为两行。
第一行为:”the perimeter of this triangle is: 周长!”
第二行为:”the area of this triangle is: 面积!”
否则,输出一行:
this is not a triangle!
样例输入1:
3 4 5
样例输出1:
the perimeter of this triangle is: 12.000000!
the area of this triangle is: 6.000000!
样例输入2:
1 4 5
样例输出2:
this is not a triangle!
Hint
注意:1周长和面积都需要float类型来表示;2思考如何判断一个合法的三角形;3如何利用三边计算面积(海伦公式),利用math库里的sqrt求平方根;4注意输出格式。
注意:题目要求结果保留6位小数。
除了输入的三个参数(定义为int类型)外,其余的变量均定义为float.
海伦公式:float perimeter = a + b + c;
float p = perimeter/2
float area = sqrt(p * (p - a) * (p - d) * (p - c))
再输出printf面积area.
hint给的太特么清楚了,记住吧
我的
1.#include<stdio.h> 2.#include<math.h> 3.int main() { 4. int a, b, c; 5. int k = 0; 6. scanf("%d %d %d", &a, &b, &c); 7. if (a + b > c && a + c > b && b + c > a) { 8. float l, s, p; 9. p = (a + b + c)/2.0; 10. l = a + b + c; 11. s = sqrt(p * (p - a) * (p - b) * (p - c)); 12. printf("the perimeter of this triangle is: %.2f!\n", l); 13. printf("the area of this triangle is: %.2f!\n", s); 14. k = k + 1; 15. } 16. else if (k != 1) { 17. printf("this is not a triangle!\n"); 18. } 19. return 0; 20.}
因为复制的是一开学的代码,所以有些地方比较奇怪
double的输入为%lf,输出为%f
%.5f表示保留5位小数