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

c語言的直角三角形

發布時間: 2023-03-03 22:21:31

『壹』 c語言 構成直角三角形的條件

修改如下(AC):
主要是加上判斷能否構成三角形的部分,其次,題目要求使用int類型。
//---------------------------------------------------------------------------
#include
<stdio.h>
#include
<math.h>
int
main(void){
int
t,a,b,c;
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&a,&b,&c);
if((a+b>c)&&abs(a-b)<c&&((a*a+b*b==c*c)||(c*c+b*b==a*a)||(a*a+c*c==b*b)))
printf("1\n");
else
printf("0\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語言如何輸出n行的直角三角形(實心的)

先不說你代碼邏輯,你這個代碼ij都是整數,循環自增不能用浮點數。

直角三角形,有等腰和非等腰,需要輸入2個邊,且只能按照兩邊比例來算,所以斜邊只能是一個近似值。

我的代碼,精度常量自行修改,邊長越大,畫面精度越好。(但是由於控制台固定大小,實際能顯示的長度有限)。


#include <stdio.h>

#define X 0.001//精確度,越小精確

int main()

{

char ch;

int a,b,i,j;

printf("請輸入填充字元:"),scanf("%c",&ch);

printf("請輸入2個直角邊的字元個數:"),scanf("%d%d",&a,&b);//默認a<=b

if(a>b) a^=b,b^=a,a^=b;

for(i=0;i<a;i++,printf(" "))

for(j=0;j<b;j++)

{

if(i==0){printf("%c",ch);break;}

if(i!=0 && j==0)printf("%c",ch);

if(i!=0 && j!=0 && a==b && j<=i)printf("%c",ch);//等腰

if(i!=0 && j!=0 && a!=b && (double)i/j-(double)a/b>X) printf("%c",ch);//非等腰

}

return 0;

}

『伍』 直角三角形用C語言怎麼寫

我們不看源程序,就自己的理解來做,直角三角形,就是在N行輸出N個*號,你這樣想程序就很快就出來了,兩個FOR循環,第一個規定了輸出的層數,裡面的for規定了每行輸出的*個數,
所以就是為什麼是c<=b,第一行時,b=1,輸出一個,第N行時,輸出N個,b即代表著所在的行數(在第一個FOR中的角色),又代表著每行輸出的*的個數(第二個FOR的角色),你可是還是對for語法理解的錯誤。因為B是個變數,每次進入裡面的for時,b的值都是不同的,而a相對而言是不變的量,它就代表的輸出的行數