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

c語言三角形類型判斷

發布時間: 2022-09-23 17:10:07

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");
}
你可以試驗一下,基本滿足要求,只有等腰直角三角形,不好測試,因為肯定有邊是帶根號的
無法輸入根號的數據啊

⑵ 怎樣用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,是無限的小數,不降低精度很難能得到的相等關系的。

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

⑶ c語言 判斷三角形類型 簡單代碼

#include <stdio.h>
int main()
{
int a,b,c,i,n;
printf("請輸三角形個數:");
scanf("%d",&n);
printf("\n");
for(i=1;i<=n;i++)
{ printf("請輸三角形邊長:");
scanf("%d",&a);
printf("\n");
printf("請輸三角形邊長:");
scanf("%d",&b);
printf("\n");
printf("請輸三角形邊長:");
scanf("%d",&c);
printf("\n");
if(a+b<=c||a+c<=b||b+c<=a)
printf("invalid!\n");
else
{
if(a==c||a==b||b==c)
{
if(a==c&&a==b)
printf("等邊三角形!\n");
else
printf("等腰三角形!\n");
}
else printf("斜三角形!\n");
}
}
//getchar();
return 0;
}

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

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

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

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

⑸ C語言 判斷三角形的類型

#include <iostream.h>
void main()
{
cout<<"請輸入三角形三邊"<<endl;
int a,b,c;
cin>>a>>b>>c;
if ((a + b) <= c || (a - b) >= c || (a+c) <= b || (a - c) >=b || (b+c)<= a || (b-c)>=a)
{
cout<<"三角形不成立!"<<endl;
}
else
{
if (a==b)
{
if (a==c)
{
cout<<"等邊"<<endl;
}
else if (a!=c&&a*a+b*b==c*c)
{
cout<<"等腰直角"<<endl;
}
else
{
cout<<"等腰"<<endl;
}
}
else if (a==c)
{
if (a==b)
{
cout<<"等邊"<<endl;
}
else if (a!=c&&a*a+c*c==b*b)
{
cout<<"等腰直角"<<endl;
}
else
{
cout<<"等腰"<<endl;
}
}
else if (b==c)
{
if (a==b)
{
cout<<"等邊"<<endl;
}
else if (a!=c&&a*a==c*c+b*b)
{
cout<<"等腰直角"<<endl;
}
else
{
cout<<"等腰"<<endl;
}
}
else
{
if (a*a==c*c+b*b || a*a+c*c==b*b || a*a+b*b==c*c)
{
cout<<"直角"<<endl;
}
else
{
cout<<"其他"<<endl;
}
}

}
}

說白了是對三角形的數學判斷,就是三角形三邊性質,成立的條件是兩邊之和大於第三邊,之差小於第三邊。

⑹ 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"。

⑺ c語言:輸入三角形的兩個內角,判斷三角形類型(銳角三角形,直角三角形,鈍角三角形)

根據輸入的三角形的三邊判斷三角形的類型,並輸出其面積和類型。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
float a, b, c;
float s, area;
printf("please input three line:\n");
scanf("%f%f%f", &a, &b, &c);
//判斷是否滿足三角形條件:兩邊之和是否大於第三邊;
if (a + b > c&&b + c > a&&a + c > a)
{
s = (a + b + c) / 2;
area = (float)sqrt(s*(s - a)*(s - b)*(s - c));//三角形面積計算;
printf("the area is: %f", area);
printf("\n");
//判斷三條邊是否相等;
if (a == b&&a == c)
{
printf("等邊三角形\n");
}
//判斷三角形是否有兩天邊相等;
else if (a == b || a == c || b == c)
{
printf("等腰三角形\n");
}
//判斷是否有兩邊的平方和大於第三邊的平方;
else if ((a*a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a))
{
printf("直角三角形\n");
}
else
{
printf("一般三角形\n");
}
}
else
{
printf("三邊不能構成三角形\n");
}
system("pause");
return 0;
}
此處應該注意「&&」和「||」的正確使用。
使用「&&」邏輯與運算符,需要同時滿足多種情況時。
使用「||」邏輯或運算符,需要滿足幾種情況中的一種時。

⑻ c語言判定三角形類型

#include<stdio.h>
intmain()
{
floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
{
if(a==b&&b==c)
{
printf("等邊三角形");
}
elseif(a==b||a==c||b==c)
{
printf("等腰三角形");
}
elseif(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
{
printf("直角三角形");
}
else
{
printf("普通三角形");
}
}
else
{
printf("非三角形");
}
return0;
}


⑼ c語言判斷三角形形狀

你對r賦值的時候用了兩個等於號「==」,賦值用一個等於號,判斷 的時候採用兩個!
而且輸出語句應該放在第一個if外面,應該就這兩個問題,代碼如下:
#include <stdio.h>
int main(){
int a, b, c, r;
printf("Please input three integers:\n");
scanf("%d%d%d",&a,&b,&c);
if(a == b ==c) r = 3;
else{
if(a + b > c && a - b < c){
if(b + c > a && b - c < a){
if(a + c > b && a - c < b){
if(a * a == b * b + c * c || b * b == a * a +c * c || c * c == a * a + b * b)
r = 1;
else if((a == b && a != c) || (b == c && a != b )|| (a ==c && b != a))
r = 2;
else
r = 0;
}
else
r = -1;
}
else
r = -1;
}
else
r =-1;

}
if(r == -1)
printf("Tt's not an integer.");
else if(r == 0)
printf("It's an scalenous triangle.");
else if(r == 1)
printf("It's an right-angeld triangle.");
else if(r == 2)
printf("It's an isosceles triangle.");
else if(r == 3)
printf("It's an equilateral triangle.");
return 0;
}

⑽ C語言判斷三角形類型

#include
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

熱點內容
javatoolsfor 發布:2024-03-29 18:17:55 瀏覽:899
linuxi2c驅動 發布:2024-03-29 18:09:56 瀏覽:671
junit源碼下載 發布:2024-03-29 18:00:10 瀏覽:525
本田雅閣壓縮機不工作 發布:2024-03-29 17:59:13 瀏覽:600
溯源碼可以偽造嗎 發布:2024-03-29 17:54:45 瀏覽:56
北京編程傳 發布:2024-03-29 17:54:44 瀏覽:435
編程畫曲線 發布:2024-03-29 17:48:59 瀏覽:59
簡單存儲服務s3 發布:2024-03-29 17:48:46 瀏覽:336
安卓手機的usb功能在哪裡設置 發布:2024-03-29 17:46:27 瀏覽:758
配置文件ini如何寫 發布:2024-03-29 17:31:05 瀏覽:997