‘壹’ c语言三角形问题
//你的存在逻辑错误,给你个新的吧
#include <stdio.h>
#include <ctype.h>
int main()
{
float t,ab,ac,bc;
printf("请输入三条边的长度,将判断它们是否构成一个三角形:");
scanf("%f %f %f",&ab,&ac,&bc);
if((ab+ac)>bc && (ab+bc)>ac && (ac+bc)>ab)
{
if(ac>ab)
{
t=ab;
ab=ac;
ac=t;
}
if(bc>ab)
{
t=ab;
ab=bc;
bc=t;
}
if(bc>ac)
{
t=ac;
ac=bc;
bc=t;
}
if(ab==ac && ab==bc)
{
printf("这三条边%f,%f,%f将构成一个等边三角形!\n",ab,ac,bc);
}
else if(ac==bc || ab==ac)
{
if(ab*ab==(ac*ac+bc*bc))
{
printf("这三条边%f,%f,%f将构成一个等腰直角三角形!\n",ab,ac,bc);
}
else
{
printf("这三条边%f,%f,%f将构成一个等腰三角形!\n",ab,ac,bc);
}
}
else if(ab*ab==(ac*ac+bc*bc))
{
printf("这三条边%f,%f,%f将构成一个直角三角形!\n",ab,ac,bc);
}
else
{
printf("这三条边%f,%f,%f将构成一个普通三角形!\n",ab,ac,bc);
}
}
else
{
printf("这三条边%f,%f,%f不能构成一个三角形!\n",ab,ac,bc);
}
system("PAUSE");
return 0;
}
‘贰’ 关于c语言判断是否为三角形的问题
首先是输入3个数,即三角形三条边,要有等于才行
前面3个条件满足,才能构成三角形;否则不是三角形
然后判断,是否有满足直角形的条件;只要有两个边得平方等于另一个边得平方;即使直角三角
形;输出yes
你把最后两个语句去掉看看,还有
else
if(c
>
b+c)printf("not
a
triangle\n");
你打错了
‘叁’ c语言 判断三角形形状
首先说你的语法没有问题,编译通过 但是 你这句 if((a==b)!=c ||(b==c)!=a||(a==c)!=b) 这的逻辑有问题,我们分析 a==b 如果成立 那么值就是1 1!=c 就是这么来执行的了 ,我想你这句想要表达的意思可能是 判断三边不相等,但两边相等 就是 是等腰三角形但不是等边三角形 分析应该这样写 if((a==b)&&a!=c ||((b==c)&&b!=a)||(a==c)&&a!=b)就整个程序来讲我觉得你写的有点 乱 我觉得应该这样来写 main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0) //判断三角形条件成立
{
if(a==b||b==c||a==c) //肯定是等腰了 但是不是等边未知 { if(a==b&&a==c) printf("等边"); // 等边三角形 else prinf("等腰"); //等腰三角形 } else { printf("三角形"); //是三角形 但不是等腰也不是等边
}
} else{ printf("不能组成三角形");}
}
‘肆’ c语言判断三角形
一、三角形问题:
(1) #include<stdio.h>
#include<math.h>
void method(float a,float b,float c)
{
float p;
if((((a+b)>=c)&&(fabs(a-b)<c))||
(((b+c)>=a)&&(fabs(b-c)<a))||
(((a+c)>=b)&&(fabs(a-c)<b)))
{
if(a==b||a==c||b==c)
{
if(a==b&&a==c&&b==c)
printf("等边三角形\n");
else
printf("等腰三角形\n");
}
else
printf("一般三角形\n");
}
else
{
printf("不能构成三角形\n");
}
}
main()
{
float a,b,c;
intflag=0;
printf("请选择要进行的操作\n1 创建一个三角形.\n0 退出\n");
scanf("%d",&flag);
while(flag==1)
{
printf("请输入三角形的三条边长:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100))
method(a,b,c);
else
printf("请输入1-100之间的数作为边长!");
printf("请选择要进行的操作\n1 创建一个三角形.\n0 退出\n");
scanf("%d",&flag);
}
}
(2) #include <stdio.h>
void main()
{
float a,b,c;
printf("请输入三角形的三条边长a,b,c:\n");
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100))
{
if(a+b<c||a+c<b||b+c<a) /*判断是否能构成三角形*/
printf("非三角形!\n");
else if((a==b&&(a!=c))||(a==c&&(b!=c))||(b==c&&(a!=c)))/*判断是否为等腰三角形*/
printf("等腰三角形\n");
else if(a==c && a==b) /*判断是否为等边三角形*/
printf("等边三角形\n");
else
printf("一般三角形!\n");
}
else
printf("请输入1-100之间的数!\n");
}
测试数据:(1)3,3,4;(2)3,3,3(3)1,2,3(4)-1,0,1(5)3.5,4,5
‘伍’ 用C语言判断三角形
#include <iostream.h>
int main(void)
{
int a,b,c;
cout<<"请输入3个参数:"<<endl;
cin>>a>>b>>c;
if (!(a+b<=c || a+c<=b || b+c<=a))
{
if (a==b && a==c) cout<<"等边三角形"<<endl;
else if (a==b || a==c || b==c) cout<<"等腰三角形"<<endl;
else cout<<"不等边三角形"<<endl;
}
else cout<<"无法组成三角形"<<endl;
return(0);
}
‘陆’ C语言编程(三角形问题)
随便写了个:
#include <stdio.h>
main()
{
int a,b,c;
printf("请输入三角形的三边:");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if((a+b)>c&&(b+c)>a&&(a+c)>b)
{
printf("这三边可以组成三角形!\n");
if (a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
{
printf("这是个直角三角形!\n");
}
if ((a==b)&&(b==c))
{
printf("这是个等边三角形!\n");
}
if (a==b||a==c||c==b)
{
printf("这是个等腰三角形!\n");
}
}
else
printf("这三条边无法组成三角形!\n");
}
‘柒’ 用c语言判断三角形
判断三角形---抛砖引玉参考资料:http://tieba..com/p/482306039
#include<stdio.h>
#include<stdlib.h>
voidinput(int&a,int&b,int&c)
{
printf("inputthea=");
scanf("%d",&a);
printf(" ");
printf("inputtheb=");
scanf("%d",&b);
printf(" ");
printf("inputthec=");
scanf("%d",&c);
printf(" ");
}
intpanan(inta,intb,intc)
{
if(a>=100&&a<=1)
{
return0;
exit(0);
}
if(b>=100&&b<=1)
{
return0;
exit(0);
}
if(c>=100&&c<=1)
{
return0;
exit(0);
}
if(a<b+c)
if(b<a+c)
if(c<a+b)
return4;
else
return0;
}
voidleixing(inti)
{
switch(i)
{
case'0':
printf("a,b,c不能组成一个三角形! ");
case'1':
printf("a,b,c组成了一个等边三角形! ");
case'2':
printf("a,b,c组成了一个等腰三角形! ");
case'3':
printf("a,b,c组成了一个直角三角形! ");
case'4':
printf("a,b,c组成一个普通的三角形! ");
default:
printf("a,b,c组成一个普通的三角形! ");
}
}
intdengbian(inta,intb,intc)
{
if(a==b)
if(b==c)
return1;
else
return0;
}
intdengyao(inta,intb,intc)
{
if(a==b||b==c||c==a)
return2;
else
return0;
}
intjiao(inta,intb,intc)
{
if((a*a)==(b*b)+(c*c))
{
return3;
exit(0);
}
if((b*b)==(c*c)+(a*a))
{
return3;
exit(0);
}
if((c*c)==(b*b)+(a*a))
{
return3;
exit(0);
}
else
return0;
}
intxingzhuang(inta,intb,intc)
{
inttemp=0;
temp=dengbian(a,b,c);
if(temp)
{
returntemp;
exit(0);
}
temp=dengyao(a,b,c);
if(temp)
{
returntemp;
exit(0);
}
temp=jiao(a,b,c);
if(temp)
{
returntemp;
exit(0);
}
else
return1;
}
voidmain()
{
inta,b,c;
inttemp;
input(a,b,c);
//printf("%d%d%d",a,b,c);
temp=panan(a,b,c);
//printf("%d",temp);
if(temp==1)
{
temp=xingzhuang(a,b,c);
//printf("%d",temp);
leixing(temp);
}
else
leixing(temp);
}
‘捌’ C语言 判断三角形的性质 急!!!!
if(a == b == c) 这句错了, 改成 if(a == b && b == c).
‘玖’ c语言编程:给出两个三角形的三条边,判断是否相似。
#include<stdio.h>
intmain()
{inta1,b1,c1,a2,b2,c2,t;
while((scanf("%d%d%d%d%d%d",&a1,&b1,&c1,&a2,&b2,&c2))==6)
{if(a1>b1){t=a1;a1=b1;b1=t;}
if(a1>c1){t=a1;a1=c1;c1=t;}
if(b1>c1){t=b1;b1=c1;c1=t;}
if(a2>b2){t=a2;a2=b2;b2=t;}
if(a2>c2){t=a2;a2=c2;c2=t;}
if(b2>c2){t=b2;b2=c2;c2=t;}
printf((c1>=a1+b1||a1*b2-a2*b1||b1*c2-b2*c1)?"NO
":"YES
");
}
return0;
}
‘拾’ 判断三角形的形状 用c语言
if else 逻辑有问题
等边三角形也是等边三角形的一种,还有你没有判断是否是直角三角形,我在你的基础上改了一下,你再运行一下应该没问题了
#include<stdio.h>
void main()
{
int a,b,c;
printf("请输入三角形的三条边:\n");
scanf("%d%d%d",&a,&b,&c);
if ((a+b>c)&&(a+c>b)&&(b+c>a)&&(((a-b>0)?a-b:b-a)<c)&&(((a-c>0)?a-c:c-a)<b)&&(((c-b>0)?c-b:b-c)<a))
{
if (a==b==c)
printf("equilateral triangle.\n");
else
{
if(((a==b)&&a!=c)||((a==c)&&a!=b)||((b==c)&&b!=a))
printf("isoceles triangle.\n");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("right triangle.");
else
printf("triangle.\n");
}
}
else
printf("non-triangle.\n");
}