杜冠儒个人资料:C语言编程---解题---行的来做出算法---给分的

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 16:26:21
请用C语言编写一个程序,根据三角形的三条边计算三角形的面积,如果该三角形是等边或等腰要给出提示,并通过下面给定的算法来判定三角形是直角,钝角还锐角三角形。
程序的功能要求如下:
1:先输入三角形的三条的边长a、b、c;
2:判断a、b、c能否构成三角形,构成三角形的条件是“任意两边之和大于第三边”,如果不能构成三角形则提示“不是三角形!”并退出程序;
3:如果能构成三角形,则计算三角形的面积;
4:判断三角形是否等边或等腰;
5:判断三角形是直角,钝角还锐角三角形。

#include <stdio.h>
void main()
{
int a,b,c;
int temp;
scanf("%d,%d,%d",&a,&b,&c);
if(a+b<=c||a+c<=b||b+c<=a)
{
printf("不能构成三角形\n");
return ;
}

if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a*a+b*b==c*c)
printf("直角三角形");
if(a*a+b*b>c*c)
printf("钝角三角形");
if(a*a+b*b<c*c)
printf("锐角三角形");

}

#include <stdio.h>
void main()
{
float a,b,c;
puts("a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if((a==b)&&(b!=c)||(b==c)&&(b!=a)||(a==c)&&(a!=b))
puts("三角形abc为等腰三角形");
else if(a==b==c)
puts("三角形abc是等边三角形");
else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
puts("三角形abc是直角三角形");
else if((a*a+c*c-b*b)/(2*a*c)<0||(a*a+b*b-c*c)/(2*a*b)<0||(c*c+b*b-a*a)/(2*c*b))
puts("三角形abc是钝角三角形");
else
puts("锐角三角形");

}
else
puts("不能构成三角形");

}