『壹』 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");
}