第十一周 OJ总结<2>-判断三角形

这篇博客介绍了如何使用C语言编写程序来判断给定的三角形是直角、锐角还是钝角三角形。通过输入三角形的三边长度,程序会根据勾股定理进行判断并输出结果。

Copyright (c) 2016,

 烟台大学计算机与控制学院 All ringts reserved.

文件名称:OJ总结<2>-判断三角形

作 者:王兴振

完成日期:2016年11月14日

版 本 号:未知

题目描述: 娄月的妹妹刘月是个初中生,某天回来兴高采烈的回家告诉姐姐他学会了如何凭借

三角形三边判断三角形的形状(设两条短边为啊a,b;长边为c,判断a*a+b*b和c*c的关系),于是

娄月告诉刘月,给她三条边,她可以在一秒之内知道三角形是直角,钝角还是锐角三角形,当然,

这么快只有编程才能做到。以下是娄月编写的程序,由于忘记了一些知识点,三个判断三角形

的函数无法完成,于是 只能请聪明的你帮忙喽。

 #include #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;

 }

 提交时只需提交right_triangle,acute_triangle,obtuse_triangle三个函数

输     入:

  三角形的三条边,大小未知,不必考虑构不成三角形的情况

输  出:

  锐角三角形,直角三角形还是钝角三角形

样例输入:

  3 4 5

样例输出:

  直角三角形

答    案:

#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)
{
    if (c*c==a*a+b*b)
        return 1;
    else
        return 0;
}
int acute_triangle(double a,double b,double c)
{
    if (c*c<a*a+b*b)
        return 1;
    else
        return 0;
}
int obtuse_triangle(double a,double b,double c)
{
    if (c*c>a*a+b*b)
        return 1;
    else
        return 0;
}

总   结:

  这个题很简单,就是为了联系函数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值