问题及代码
/*
烟台大学计算机与控制工程学院
文件名称:判断三角形
作 者:展一
完成时间:2016年11月9日
题目描述
娄月的妹妹刘月是个初中生,
某天回来兴高采烈的回家告诉姐姐他学会了如何凭借三角形三边判断三角形的形状(设两条短边为啊a,b;长边为c,判断a*a+b*b和c*c的关系)
,于是娄月告诉刘月,给她三条边,她可以在一秒之内知道三角形是直角,钝角还是锐角三角形,当然,这么快只有编程才能做到。
以下是娄月编写的程序,由于忘记了一些知识点,三个判断三角形的函数无法完成,于是 只能请聪明的你帮忙喽。
输入
三角形的三条边,大小未知,不必考虑构不成三角形的情况
输出
锐角三角形,直角三角形还是钝角三角形
样例输入
3 4 5
样例输出
3 4 5
*/
#include <stdio.h>
#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;
}
int right_triangle(double a,double b,double c)
{
return (c*c==a*a+b*b);
}
int acute_triangle(double a,double b,double c)
{
return (c*c<a*a+b*b);
}
int obtuse_triangle(double a,double b,double c)
{
return (c*c>a*a+b*b);
}
运行结果
知识点总结
函数的初步运用
学习心得
判断a*a/b*b/c*c之间的大小关系来返回值得出三角形类型