您的位置:首页 > 其它

第十一周项目二判断三角形

2016-11-10 09:08 162 查看
题目描述:
娄月的妹妹刘月是个初中生,某天回来兴高采烈的回家告诉姐姐他学会了如何凭借三角形三边判断三角形的形状(设两条短边为啊a,b;长边为c,判断a*a+b*b和c*c的关系),于是娄月告诉刘月,给她三条边,她可以在一秒之内知道三角形是直角,钝角还是锐角三角形,当然,这么快只有编程才能做到。以下是娄月编写的程序,由于忘记了一些知识点,三个判断三角形的函数无法完成,于是  只能请聪明的你帮忙喽。

作者:李忠林

完成日期:2016.11.10

#include <stdio.h>

#define swap(x,y){x=x+y;y=x-y;x=x-y;}

/*下面三个函数都是:是返回1,不是返回0*/

int right_triangle(double a,double b,double c); /*判断直角三角形*/

int acute_triangle(double a,double b,double c); /*判断锐角三角形*/

int obtuse_triangle(double a,double b,double c); /*判断钝角三角形*/

int main()

{

    double a,b,c;   /*三角形的三边*/

    scanf("%lf %lf %lf",&a,&b,&c);  /*输入三边*/

    /*将三边按照从小到大排好*/

    if(a>b)

        swap(a,b);

    if(a>c)

        swap(a,c);

    if(b>c)

        swap(b,c);

    /*根据if判断选择三角形*/

    if(acute_triangle(a,b,c))

        printf("锐角三角形\n");

    else if(right_triangle(a,b,c))

        printf("直角三角形\n");

    else if(obtuse_triangle(a,b,c))

        printf("钝角三角形\n");

    return 0;

}

int right_triangle(double a,double b,double c)

{

    int x;

    if(a*a+b*b==c*c)

    {

        x=1;

    }

    else

    {

        x=0;

    }

    return x;

}

int acute_triangle(double a,double b,double c)

{

    int x;

    if(a*a+b*b>c*c)

    {

            x=1;

    }

else

{

    x=0;

}

return x;

}

int obtuse_triangle(double a,double b,double c)

{

    int x;

    if(a*a+b*b<c*c)

    {

        x=1;

    }

    else

    {

        x=0;

    }

    return x;

}

运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: