數學課上,老師出了一道簡單的關於三角形幾何題,題目內容是:給出三個數字分別表明三條邊,首先請判斷利用這三條邊是否能夠組成一個三角形;若是能夠,請計算三角形的周長和麪積;不然,輸出提示信息說明不能組成三角形。你能夠用編程實現這道題的求解嗎?編程
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位小數