问题描述:
凭借三角形三边判断三角形的形状(设两条短边为啊a,b;长边为c,判断a*a+b*b和c*c的关系)
文件名称:the_eleventh_week_OJ2963
作者:何知令
发表时间:2016年11月10日
输入:三角形的三条边,大小未知,不必考虑构不成三角形的情况
输出:锐角三角形,直角三角形还是钝角三角形
代码:
#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 arcute_triangle(double a,double b,double c);/*判断锐角三角形*/
int obtuse_triangle(double a,double b,double c);/*判断钝角三角形*/
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
/*将该三个数按从小到大排序*/
if(a>b)
swap(a,b);
if(a>c)
swap(a,c);
if(b>c)
swap(b,c);
if(right_triangle(a,b,c))
printf("直角三角形");
else if(arcute_triangle(a,b,c))
printf("锐角三角形");
else if(obtuse_triangle(a,b,c))
printf("钝角三角形");
return 0;
}
int right_triangle(double a,double b,double c)
{
if(a*a+b*b==c*c)
return 1;
else
return 0;
}
int arcute_triangle(double a,double b,double c)
{
if(a*a+b*b>c*c)
return 1;
else
return 0;
}
int obtuse_triangle(double a,double b,double c)
{
if(a*a+b*b<c*c)
return 1;
else
return 0;
}
程序运行结果展示:
知识点总结:函数,判断,函数之间的返回
学习心得:还是没太大的感觉