简单几何题

数学课上,老师出了一道简单的关于三角形几何题,题目内容是:给出三个数字分别代表三条边,首先请判断利用这三条边是否可以组成一个三角形;如果可以,请计算三角形的周长和面积;否则,输出提示信息说明不能组成三角形。你可以用编程实现这道题的求解吗?

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位小数

posted on 2016-01-13 23:21  _阿赞  阅读(501)  评论(0编辑  收藏  举报