當前位置:首頁 » 編程語言 » 三角形判斷c語言程序直角三角形
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

三角形判斷c語言程序直角三角形

發布時間: 2022-11-06 16:31:11

c語言:判斷三角形是否為直角三角形

首先是輸入3個數,即
三角形
三條
邊,要有等於才行
前面3個條件滿足,才能構成三角形;否則不是三角形
然後判斷,是否有滿足
直角
形的條件;只要有兩個邊得
平方
等於另一個邊得平方;即使直角
三角
形;輸出yes
你把最後兩個
語句
去掉看看,還有
else
if(c
>
b+c)printf("not
a
triangle\n");
你打錯了

❷ C語言程序:輸入三個數判斷是否構成直角三角形

代碼如下:
#include<stdio.h>
int main()
{
float a, b, c;
scanf("%f%f%f",&a, &b, &c);
if (a+b>c&&a+c>b&&b+c>a)
{
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");
return 0;
}

❸ 怎樣用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語言:判斷三角形是否為直角三角形

首先是輸入3個數,即三角形三條邊,要有等於才行
前面3個條件滿足,才能構成三角形;否則不是三角形
然後判斷,是否有滿足直角形的條件;只要有兩個邊得平方等於另一個邊得平方;即使直角三角
形;輸出yes
你把最後兩個語句去掉看看,還有 else if(c > b+c)printf("not a triangle\n");
你打錯了

❺ c語言,判斷是否是直角三角形。求詳細編程

#include <stdio.h>

int main(void)

{

int a,b,c;//保存三邊數據

printf("請輸入三角形三邊:\n");

while (1)

{

scanf("%d %d %d",&a,&b,&c);//輸入三邊數據

if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))//判斷是否為三角形

{

printf("三角形三邊為:%d,%d,%d\n",a,b,c);

break;

}

else

{

printf("這不是三角形,請重新輸入:\n");

}

}

//計算平方數

a = a * a;

b = b * b;

c = c * c;

//判斷是否為三角形

if((a==(b+c))||(b==(a+c))||(c==(a+b)))

{

printf("yes\n");

}

else

{

printf("No\n");

}

return 0;

}

❻ C語言中輸入三角形三條邊的實數,如何判斷是直角三角形

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

voidmain()
{
floata,b,c,temp;
printf("請輸入三個數: ");
scanf("%f%f%f",&a,&b,&c);
printf("您輸入的三個數是: ");
printf("%f %f %f ",a,b,c);
//判斷哪個是最長的邊
if(a<b)
{
temp=a;
a=b;
b=temp;
}
if(a<c)
{
temp=a;
a=c;
c=temp;
}
printf("現在的三個數: ");
printf("%f %f %f ",a,b,c);//現在a是最長邊了
if((a+b>c)&&(a+c>b)&&(b+c>a)&&fabs(a*a-b*b-c*c)<1e-6)//浮點數不能直接判斷等於不等於
printf("是直角三角形!! ");
else
printf("不是直角三角形!! ");
system("pause");
}

❼ C語言判斷直角三角形

浮點數判斷相不相等 不能用「==」 是要用兩個數相減,當小於一定的值就是相等的。
因為浮點數在計算機中不是精確表示的,,
判斷比如: if (abs(x*x+y*y-z*z)<1e-x) (abs函數代表絕對值的意思, 1e-x 代表 10的負x次方,x可以為6,7,8等)

❽ c語言 判斷是否是直角三角形

首先是輸入3個數,即三角形三條邊,要有等於才行
前面3個條件滿足,才能構成三角形;否則不是三角形
然後判斷,是否有滿足直角形的條件;只要有兩個邊得平方等於另一個邊得平方;即使直角三角
形;輸出yes
注意:else if(c > b+c)printf("not a triangle\n");

❾ 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;
}

❿ C語言 輸入三角形三條邊(實數),如何判斷是直角三角形

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

voidmain()
{
floata,b,c,temp;
printf("請輸入三個數: ");
scanf("%f%f%f",&a,&b,&c);
printf("您輸入的三個數是: ");
printf("%f %f %f ",a,b,c);
//判斷哪個是最長的邊
if(a<b)
{
temp=a;
a=b;
b=temp;
}
if(a<c)
{
temp=a;
a=c;
c=temp;
}
printf("現在的三個數: ");
printf("%f %f %f ",a,b,c);//現在a是最長邊了
if((a+b>c)&&(a+c>b)&&(b+c>a)&&fabs(a*a-b*b-c*c)<1e-6)//浮點數不能直接判斷等於不等於
printf("是直角三角形!! ");
else
printf("不是直角三角形!! ");
system("pause");
}