c语言中,编写一个程序,输入三角形的边长判断是何种三角形,怎么写

如题所述

#include<stdio.h>
int tr(double a[])//判断是否能构成三角形
{
return (a[0]>=(a[1]+a[2]));
}
int zhijiao(double a[])//判断是否为直角三角形
{
if(a[0]*a[0]==(a[1]*a[1]+a[2]*a[2]))return 1;
else return 0;
}
int deng(double a[])//判断是否为等腰、等边三角形
{
long n=0;
if(a[0]==a[1])n++;
if(a[0]==a[2])n++;
if(a[1]==a[2])n++;
return n;
}
int main()
{
double a[3],c,e;
printf("输入三条边的长度:");scanf("%lf %lf %lf",a,a+1,a+2);
if(a[1]>a[0]){c=a[1];a[1]=a[0];a[0]=c;}
if(a[2]>a[0]){c=a[2];a[2]=a[0];a[0]=c;}

if(tr(a)){printf("无法构成三角形\n");return 0;}
c=zhijiao(a);e=deng(a);
if(e==3)printf("该三角形为等边三角形\n");
else if(e&&c)printf("该三角形为等腰直角三角形\n");
else if(e)printf("该三角形为等腰三角形\n");
else if(c)printf("该三角形为直角三角形\n");
else printf("该三角形为一般三角形\n");

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-27

最原始办法还是先比较三边

常见的三角形是锐角,直角,钝角,等边,等腰,等腰直角

设三边长是a,b,c,且有a>=b>=c,三边长以a最长,c最短

    锐角:a²<b²+c²

    直角:a²=b²+c²

    印角:a²>b²+c²

    等边:a=b=c

    等腰:a=b或者b=c

    等腰直角:a²=b²+c²且b=c

第2个回答  2013-10-27
余弦定理呀!
主要就是:
先定义a,b,c,x,y,z
输入a,b,c
之后就是:
x=3.141562653*arccos((a^2+b^2-c^2)/2ab);
y=3.141562653*arccos((a^2+c^2-b^2)/2ac);
z=3.141562653*arccos((c^2+b^2-a^2)/2bc);
输出的就是角,自己判断!
第3个回答  2013-10-27
用if条件语句判断三边的关系,分别有等边,等腰,直角,等腰直角,和一般三角形六种情况追答

满意,请给好评!谢谢!

c语言中,编写一个程序,输入三角形的边长判断是何种三角形,怎么写_百 ...
int deng(double a[])\/\/判断是否为等腰、等边三角形 { long n=0;if(a[0]==a[1])n++;if(a[0]==a[2])n++;if(a[1]==a[2])n++;return n;} int main(){ double a[3],c,e;printf("输入三条边的长度:");scanf("%lf %lf %lf",a,a+1,a+2);if(a[1]>a[0]){c=...

用c语言编写的三角形输入程序是什么?
} else { printf("这是一个一般三角形\\n");} } int main() { int side1, side2, side3;printf("请输入三角形的三条边长:\\n");scanf("%d %d %d", &side1, &side2, &side3); \/\/ 判断三角形类型 checkTriangle(side1, side2, side3); return 0;} 在这个示例中,程序首...

编写C程序。实现根据用户输入的三角形的三条边长判定是何种三角形
\/ 判断三边是否构成三角形 任意两条边的和大于另一条边,写程序时需做三次判断。\/ if(a+b>c||a+c>b||b+c>a){ if(a==b&&a==c)\/*如果三条边均相等,则为等边三角形*\/ \/*printf("等边三角形\\n"); *\/ printf("equilateral triangle\\n");else if(a==b||a==c||b==c) \/...

编写程序,输入三角形的3条边长,判断该三角形是否为直角三角形,若是输...
printf("该三角形是锐角三角形");else printf("该三角形是钝角三角形");}

c语言程序,输入三角形三边的长度,判断是不是三角形,若是,在判断为何种...
功能:根据变长,判断三角形的类型 参数:a,b,c 三角形的三条边长 返回:三角形的类型。见: TriangleType。说明:应用了余弦定理:cosA = (b^2 + c^2 - a^2)\/2bc \/ TriangleType getTypeOFTriangle(double a, double b, double c){ \/\/ 边 a, b, c 对应的角的度数(弧度制)doubl...

C语言输入三角形的三条边,判断它是何种类型的三角形(等边三角形?等腰三 ...
"请输入边长:\\n");scanf("%f,%f,%f",&a,&b,&c);if(a+b>c || a+c>b || b+c>a) \/\/***这里要去掉=号{if (a==b&&a==c)\/\/这里||改为&&printf("等边三角形\\n"); else if ((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))printf("直角三角形\\...

C语编写一个函数fun,以三角形的三个边长为参数,判断该三角形是否为直角...
\/\/ 先判断三角形的合法性 if (a + b > c && a + c > b && b + c > a) { \/\/ 判断是否为直角三角形 int maxSide = fmax(a, fmax(b, c)); \/\/ 求出最大的边长 if (maxSide == a) { return (b * b + c * c == a * a); \/\/ 判断是否满足勾股定理 } else ...

C语言 输入三角形三条边(实数),如何判断是直角三角形
temp = a; a = b; b = temp; } if (a<c) { temp = a; a = c; c = temp; } printf("现在的三个数:\\n"); printf("%f\\t%f\\t%f\\n",a,b,c);\/\/现在a是最长边了 if ((

C语言。。。输入三角形的三边长,判断能否构成三角形,能,求面积...
void main(){ double a,b,c,p,s;printf("Please input three number:\\n");scanf("%lf%lf%lf",&a,&b,&c);p = (a+b+c)\/2;if(p>0&&(p-a)>0&&(p-b)>0&&(p-c)>0 ){ s = sqrt(p*(p-a)*(p-b)*(p-c));printf("能构成三角形且面积:S= %lf\\n",s);} else...

c语言调用函数rectan输入三角形边长判断该三角形是什么类型三角形
c = tmp;} \/\/两锐角所对的边的平方和 square = a*a + b*b;\/\/由余弦定理:cosC = (a*a + b*b - c*c)\/(2ab) , 判断最大角C的正负号 \/\/就是判断 a*a+b*b - c*c的正负号 if( c*c == square)\/\/相等是直角 printf("直角三角形\\n");else if(c*c < square)\/\/...

相似回答