当前位置:编程学习 > C/C++ >>

c语言 三角形

输入三边 判断是锐角三角形 钝角还是直角

谢谢啦

追问:大哥,运行一下再来来好吧

答案:#include<stdio.h> 
#include<stdlib.h>
#include<math.h>


main()
{
float x;
float y;
float z;
//输入三边
float a,b,c;
float m,MaxAngle;
printf("Please Input a :");
scanf("%f",&a);
printf("Please Input b :");
scanf("%f",&b);
printf("Please Input c :");
scanf("%f",&c);

printf("三边为:%.2f,%.2f,%.2f",a,b,c);
//判断是否三角形

if((a+b<=c)||(a+c<=b)||(b+c<=a))
{
printf("不是一个三角形 \n");
}
else
{
//判断三角形类型
if((a==b)&&(b==c)&&(a=c)) //判断等边
{
printf("是等边三角形 \n");
}
else
{



if((a==b)&&(b!=c)||(b==c)&&(b!=a)||(a==c)&&(a!=b)) //判断等腰
{
x = a*a;
y = b*b;
z = c*c;

if( z - (x + y) < 0.01 )
printf("是等腰直角三角形 \n");
else
{
if((a*a>b*b+c*c)||(b*b>a*a+c*c)||(c*c>a*a+b*b))
{
printf("是等腰钝角三角形 \n");
}
else
{
printf("是锐角等腰三角形 \n");
}
}
}
else
{
if((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b)) //判断角度
{
printf("是直角三角形 \n");
}
else
{
if((a*a>b*b+c*c)||(b*b>a*a+c*c)||(c*c>a*a+b*b))
{
printf("是钝角三角形 \n");
}
else
{
printf("是锐角三角形 \n");
}
}
}
}
}
m=a>b?a:b;
m=m>c?m:c;
if(m==a)
{


MaxAngle=acos((a*a+b*b-c*c)/(2*a*b))*(180/3.1415926) ;
if( z - (x + y) < 0.01 )
{
MaxAngle = 90.00;

}

printf("最大边为a:%f , 最大角为:%.2f",a,MaxAngle);
}
else
{
if(m==b)
{
MaxAngle=acos((c*c+a*a-b*b)/(2*c*a))*(180/3.1415926);
if( z - (x + y) < 0.01 )
{
MaxAngle = 90.00;
}


printf("最大边为a:%f\n 最大角为:%.2f\n",b,MaxAngle);
}
else
{
if(m==c)
{
MaxAngle=acos((b*b+a*a-c*c)/(2*b*a))*(180/3.1415926);
if( z - (x + y) < 0.01 )
{
MaxAngle = 90.00;

}
printf("最大边为c:%f\n 最大角为:%.2f\n",c,MaxAngle);
}
}
}
getch();
}

上一个:c语言教程
下一个:C语言编程

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,