當前位置:首頁 » 編程語言 » 判斷三角形的c語言

判斷三角形的c語言

發布時間: 2022-05-12 00:18:41

1. c語言 判斷三角形的類型

#include<stdio.h>
int
main(){
float
a,b,c,temp;
do{
printf("Please
input
a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
/*對a,b,c從小到大排序*/
if(a>b){temp=a;a=b;b=temp;}
if(a>c){temp=a;a=c;c=temp;}
if(b>c){temp=b;b=c;c=temp;}
if(a+b>c)break;
else
{printf("三角形不成立\n");}
}while(1);
if(a==b&b==c)printf("等邊三角形\n");
else
if(a==b)
if(a*a+b*b==c*c)printf("等腰直角三角形\n");
else
printf("等腰三角形\n");
else
if(a*a+b*b==c*c)printf("直角三角形\n");
else
printf("一般三角形\n");
}
你可以試驗一下,基本滿足要求,只有等腰直角三角形,不好測試,因為肯定有邊是帶根號的
無法輸入根號的數據啊

2. C語言,怎麼編程判斷三角形的形狀

從小到大排序:a<=b<= c

如果a+b>c,是三角形,否則不是三角形[三角形兩邊之和大於第三邊]

三邊相等:等邊三角形
兩邊相等:等腰三角形
a*a+b*b=c*c:直角三角形

3. 怎樣用C語言判斷三角形類型(等邊,等腰,直角,等腰直角)

#include<stdio.h>
main()
{
doublea[3],b;
while(1){
scanf("%lf%lf%lf",&a[0],&a[1],&a[2]);//輸入三邊
if(a[0]>0&&a[1]>0&&a[2]>0){//三邊中任何一邊都得大於0
if(a[0]<a[1]){b=a[0];a[0]=a[1];a[1]=b;}//將最大的邊交換到a[0]中
if(a[0]<a[2]){b=a[0];a[0]=a[2];a[2]=b;}
if(a[1]+a[2]<=a[0]){
printf("不是三角形 ");continue;}//兩個短邊之和不大於第三邊,不是三角形
if(((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0]))&&(a[0]==a[1]||a[1]==a[2]||a[0]==a[1])){
printf("等腰直角三角形 ");continue;}//兩個短邊的平方=長邊的平方就是直角
if((int)(a[1]*a[1])+(int)(a[2]*a[2])==(int)(a[0]*a[0])){
printf("直角三角形 ");continue;}
if(a[0]==a[1]&&a[0]==a[2]){
printf("等邊三角形 ");continue;}
if(a[0]==a[1]||a[1]==a[2]||a[0]==a[1]){
printf("等腰三角形 ");continue;}
}else
printf("不是三角形 ");
}
}
//這里計算直角三角形時,轉成int在進行比較,是為了降低精度,特別是計算等腰直角三角形,
//根號2,是無限的小數,不降低精度很難能得到的相等關系的。

如圖所示,望採納。。。。。。

4. c語言如何判斷abc能否構成三角形

#include <stdio.h>

int main()

float a,b,c;

printf("請輸入三邊的邊長:");

scanf("%f%f%f",&a,&b,&c);

if(a>0 && b>0 &&c>0)

if(a+b>c && a+c>b &&b+c>a)

printf("(%.2f,%.2f,%.2f)能圍成三角形\n",a,b,c);

else

printf("(%.2f,%2.2f,%.2f)不能圍成三角形\n",a,b,c);

return 0;

判斷三角形類型。輸入三角形的三條邊a,b,c,判斷它們能否構成三角形。若能構成三角形,指出是何種三角形(等腰三角形、等邊三角形、直角三角形、等腰直角三角形、一般三角形),計算精度:1E-1。

輸入提示信息:「Input a,b,c:」

輸入格式:"%f,%f,%f"。

5. 用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);

}

6. C語言判斷三角形

#include<stdio.h>

voidBubbleSort(int*pData,intcount)
{
inttemp;
for(inti=1;i<count;i++)
{
for(intj=count-1;j>=i;j--)
{
if(pData[j]<pData[j-1])
{
temp=pData[j-1];
pData[j-1]=pData[j];
pData[j]=temp;
}
}
}
}

intmain()
{
intdata[3]={0};
printf("輸入: ");
for(inti=0;i<3;i++)
{
scanf_s("%d",data+i);
}
BubbleSort(data,3);
inta=data[0],b=data[1],c=data[2];
if(a+b>c&&b-a<c)
{
printf("能構成三角形 ");
if((a^2)+(b^2)<(c^2))
{
if(a==b||a==c||b==c)
{
if(a==b==c)
{
printf("等邊三角形 ");
}
printf("等腰三角形 ");
}
printf("銳角三角形 ");
}
elseif((a^2)+(b^2)==(c^2))
{
printf("直角三角形 ");
}
else
printf("鈍角三角形 ");
}
return0;
}

7. C語言怎麼編程判斷三角形的形狀

代碼如下:

#include <stdio.h>

#include <stdlib.h>

#defineEPSINON1e-3
#defineABS(a)(((a)>0)?(a):(-a)) //?:不支持表達式嵌套
#define ZERO(x)((x)>-EPSINON && (x)<EPSINON)
#define MAX(a,b)(((a)>(b))?(a):(b))
#define MIN(a,b)(((a)<(b))?(a):(b))
float a, b, c;
float max, mid, min;
char input_err_flag = 0;
char judge_err_flag = 0;
int equal(float a, float b)
{
float tmp;
tmp = a - b;
tmp = ZERO(ABS(tmp));
return tmp;
}
void input(void)
{
a = b = c = 0;
printf("輸入三條邊的值:");
scanf("%f %f %f",&a, &b, &c);
if(!(a>0) || !(b>0) || !(c>0))
{
input_err_flag = 1;
}
}
void sort(void)
{
max = MAX(MAX(a,b),c);
min = MIN(MIN(a,b),c);
if(MAX(a,b) < c)
mid = MAX(a,b);
else
mid = MAX(MIN(a,b),c);
}
void judge(void)
{
float max_square, mid_square, min_square, tmp;
if(max >= (mid+min))
{
judge_err_flag = 1;
}
else
{
max_square = max * max;
mid_square = mid * mid;
min_square = min * min;
tmp = mid_square + min_square;
if(equal(mid,min) || equal(max, mid))
{
if(equal(mid, min))
{
if(mid == max)
puts("等邊三角形。");
else if(equal(max_square, tmp))
puts("等腰直角三角形。");
else if(max_square < tmp)
puts("等腰銳角三角形。");
else
puts("等腰鈍角三角形。");
}
else
{
if(equal(min, mid))
puts("等邊三角形。");
else
puts("等腰銳角三角形。");
}
}
else if(equal(max_square, tmp))
puts("直角三角形。");
else if(max_square < tmp)
puts("銳角三角形。");
else
puts("鈍角三角形。");
}
}
int main(void)
{
char cs, ch;
do
{
input();
sort();
judge();
if(input_err_flag)
{
input_err_flag = 0;
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("輸入錯誤,a b c必須大於零,是否新輸入(y/n):");
}
else if(judge_err_flag)
{
judge_err_flag = 0;
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("組不成三角形,是否重新輸入(y/n):");
}
else
{
while((cs=getchar())!=' ' && (cs=getchar())!=EOF);
printf("是否再輸入一組數據(y/n):");
}
ch = getchar();
}
while(ch=='y' || ch=='Y' || ch==' ');
puts("Goodbye!");
return 0;
}

8. 如何用C語言編程序:輸入三個數,判斷是否構成三角形

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

9. 用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);
}

10. c語言判斷三角形

#include <stdio.h>
int main()
{
int a,b,c;
printf("輸入三角形的三條邊: ");
scanf("%d%d%d",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a)
printf("三角形的周長為: %d\n",a+b+c);
else
printf("No\n");
return 0;
}示例運行結果:
輸入三角形的三條邊:
3
4
5
三角形的周長為:
12
輸入三角形的三條邊:
1
5
6
No

熱點內容
電腦買個游戲伺服器 發布:2025-05-10 21:25:15 瀏覽:240
機櫃存儲空間 發布:2025-05-10 21:25:07 瀏覽:266
安卓手機如何修改首屏 發布:2025-05-10 21:17:59 瀏覽:958
緩存關聯替換 發布:2025-05-10 20:56:34 瀏覽:617
開源項目源碼 發布:2025-05-10 20:56:24 瀏覽:35
php文章編輯 發布:2025-05-10 20:56:21 瀏覽:982
夢世界國際版伺服器ip 發布:2025-05-10 20:35:35 瀏覽:257
編程樹遍歷 發布:2025-05-10 20:34:53 瀏覽:403
快牙怎麼傳文件夾 發布:2025-05-10 20:29:08 瀏覽:138
26個字母可以組成多少個密碼 發布:2025-05-10 20:23:21 瀏覽:620