数学课上,老师出了一道简单的关于三角形几何题,题目内容是:给出三个数字分别表明三条边,首先请判断利用这三条边是否能够组成一个三角形;若是能够,请计算三角形的周长和面积;不然,输出提示信息说明不能组成三角形。你能够用编程实现这道题的求解吗?编程
Input:this
输入三个整数,a, b, c。spa
Output:code
若是3边能够组成三角形,则输出为两行。blog
第一行为:”the perimeter of this triangle is: 周长!”数学
第二行为:”the area of this triangle is: 面积!”io
不然,输出一行:class
this is not a triangle!变量
样例输入1:float
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位小数