C语言习题5.11--判断三角形

Description

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

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

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(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三个函数

Input

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

Output

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

Sample Input

3 4 5

Sample Output

直角三角形


 
 
  1. #include <stdio.h>
  2. #define swap(x,y){x=x+y;y=x-y;x=x-y;}
  3. int right_triangle(double a,double b,double c);
  4. int acute_triangle(double a,double b,double c);
  5. int obtuse_triangle(double a,double b,double c);
  6. int right_triangle(double a,double b,double c)
  7. {
  8.     double s,f;
  9.     s=a*a+b*b;
  10.     f=c*c;
  11.     if(s==f) return 1;
  12.     else return 0;
  13. }
  14. int acute_triangle(double a,double b,double c)
  15. {
  16.     double s,f;
  17.     s=a*a+b*b;
  18.     f=c*c;
  19.     if(s>f) return 1;
  20.     else return 0;
  21. }
  22. int obtuse_triangle(double a,double b,double c)
  23. {
  24.     double s,f;
  25.     s=a*a+b*b;
  26.     f=c*c;
  27.     if(sreturn 1;
  28.     else return 0;
  29. }
  30. int main()
  31. {
  32.     double a,b,c;  
  33.     scanf("%lf %lf %lf",&a,&b,&c); 
  34.     
  35.     if(a>b)
  36.         swap(a,b);
  37.     if(a>c)
  38.         swap(a,c);
  39.     if(b>c)
  40.         swap(b,c);
  41.     
  42.     if(acute_triangle(a,b,c))
  43.         printf("锐角三角形\n");
  44.     else if(right_triangle(a,b,c))
  45.         printf("直角三角形\n");
  46.     else if(obtuse_triangle(a,b,c))
  47.         printf("钝角三角形\n");
  48.     return 0;



















































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值