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

c語言等要腰三角形

發布時間: 2022-07-13 11:58:26

Ⅰ 用c語言編輯一個等腰三角形的講解過程

等腰三角形的話。。。是類似於下面這樣的東東嗎?

*
***
*****

這個重在分析,程序寫起來很簡單。

因為c語言的輸出一定是按行輸出的,所以可以按行分析三角形每行的字元構成:

總共3行的等腰三角形:
*第1行,需要輸出2個空格,1個*
***第2行,需要輸出1個空格,3個*
*****第3行,需要輸出0個空格,5個*

所以是否能夠根據上面的分析,得出結論呢?再來分析一個5行的三角形:

總共5行的等腰三角形:
*第1行,需要輸出4個空格,1個*
***第2行,需要輸出3個空格,3個*
*****第3行,需要輸出2個空格,5個*
*******第4行,需要輸出1個空格,7個*
*********第5行,需要輸出0個空格,9個*

然後好像有感覺了:要輸出一個n行的等腰三角形,那麼:

每行需要輸出的空格數是個遞減的等差數列:space(i) = n - i, 其中行號i = 1,2...

每行需要輸出的*數也是個等差數列: star(i) = 2 * i - 1, 其中行號i = 1,2...

所以有了公式,程序的話應該也不難了:

voidprintTriangle(intn){
inti,j,k,space,star;
//總共要列印n行
for(i=1;i<=n;i++){
//先列印n-i個空格
space=n-i;
for(j=0;j<space;j++){
printf("");
}
//然後列印2i-1個*
star=2*i-1;
for(k=0;k<star;k++){
printf("*");
}
//換行
printf(" ");
}
}

Ⅱ c語言編寫等腰三角形

for(k=0;k<10-i;k++)
printf("
");的確輸出10個空格但是代碼繼續執行for(j=0;j<i+1;j++)
printf("*
");這時候能輸出一顆星
因為此時i是0,for(j=0;j<i+1;j++)執行一次
也就是輸出一顆星
代碼進行第二次大循環for(k=0;k<10-i;k++)printf("
");先輸出9個空格(注意這次是9個空格)然後執行下面代碼for(j=0;j<i+1;j++)
printf("*
");輸出兩顆星
代碼進行第三次大循環for(k=0;k<10-i;k++)pri敞碃搬度植道邦權鮑護ntf("
");先輸出8個空格(注意這次是8個空格)然後執行下面代碼for(j=0;j<i+1;j++)
printf("*
");輸出三顆星
依次輸出十行之後就是一個等腰三角形了

Ⅲ C語言判斷等腰三角形(浮點數)

應該改成:
if (fabs(a - b) < 0.0001 || fabs(a - c) < 0.0001 || fabs(b - c) < 0.0001)
printf("等腰三角形\n");

Ⅳ C語言設計等腰三角形

定義一個char型變數ch並初始化為字元A;用一個雙重flt循環,外循環負責控制層數(這里假設10層)和每行應在屏幕的什麼位置形如列印字元,內循環負責每行的列印個數;每輸出一行將ch增1,就能達到題目要求。舉例代碼如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charch,i,j,k;
for(ch='A',i=0;i<10;i++){
printf("%*.*s",48-i*2,1,"");//把游標移到合適地方
for(k=(i<<1)+1,j=0;j<k;j++)
printf("%c",ch);
ch++;//字元值增1變為下一個字元
putchar(' ');
}
return0;
}

Ⅳ 怎樣用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>

void main( )

{

int i,j,k;

for(i=0;i<5;i++)

{

for(j=0;j<4-i;j++)

printf(" ");

for(k=0;k<=i;k++)

printf("# ");

printf(" ");

}

}


Ⅶ c語言編程 輸入三角形三邊長,判斷其是等邊三角形,等要三角形,直角三角形,等腰直角三角形還是一

這是個數學問題,不算是編程問題。如果要寫出簡潔的 switch表達,那就先研究一下數據規律吧。
因為使用switch是比較實型,整型,字元型等確定的數據類型,如果在switch的 case 當中又寫上很多的if判斷,就沒有必要用switch了。

Ⅷ C語言 編程 等腰三角形問題 大神快來啊 很急

#include<stdio.h>
void main()
{
int T = 2, a = 0, b = 0, c = 0;

int i = 0;

for(i = 1; i <= T; i++)

{
printf("請輸入第%d組數:", i);

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

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

{printf("YES\n");}else{printf("NO\n");}

}

}

Ⅸ 如何用C語言列印等腰三角形

很標準的等腰三角形#include<stdio.h>


main()
{

int row,col,i;
for(i=1;i<=10;i++){
for(row=1;row<=10-i;row++)
printf(" ");
for(col=1;col<=2*i-1;col++)/* '*'的個數和行數 i 有種內在關系*/
printf("*");
printf(" ");
}

Ⅹ C語言 等腰三角形提問

先輸出8個空格(注意這次是8個空格)

然後執行下面代碼

for(j=0;j<i+1;j++)
printf("* ");

輸出三顆星


依次輸出十行之後

就是一個等腰三角形了