2017-01-20 227 views
-2

我創造了一些金字塔用C編程打印字母金字塔

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
int i, j; 
    for(i=1;i<=5;i++) 
    { 
     for(j=1;j<=i;j++) 
     { 
     printf("%c",'A' + j-1); 
     } 
     printf("\n"); 
    } 
getch(); 
} 

及以下的輸出就這樣產生

A 
AB 
ABC 
ABCD 
ABCDE 

,但現在我想看到的金字塔如下

A 
    ABA 
ABCBA 
ABCDCBA 

我如何在這裏使用循環?

+0

檢查我的答案@InformationHTI –

+1

**注:**不使用'conio.h'和'的getch()'以防止該終端從關閉。這是一個DOS/windoze唯一的標題,並導致不可移植的代碼。你已經包含'stdio.h',只需用getchar()替換'getch()',你就可以完全刪除'conio.h'。 –

+0

'main'應該是'int',而不是'void','return 0;'。 – DyZ

回答

1

他們是空間你必須打印。 更正這裏: -

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
int i, j; 
    for(i=1;i<=5;i++) 
    { 
     for(j=4;j>i;j--) // extra loop for spaces 
     { 
     printf(" "); // printing those spaces is important 
     } 

     for(j=1;j<=i;j++) 
     { 
     printf("%c",'A' + j-1); 
     } 
     printf("\n"); 
    } 
getch(); 
} 
+0

@InformationHTI upvote並接受,如果它有幫助。 –

+0

如何在線查看代碼? –

+0

使用ideone網站並複製並粘貼並運行它@InformationHTI –

0

它可能會幫助

#include<stdio.h> 
#include<conio.h> 
void main() 
{ 
int i, j; 
for(i=1;i<=5;i++) 
{ 
    //loop for print spaces 
    for(j=i;j<=5-i;j++) 
    { 
    printf(" "); 
    } 
//loop for print alphabets in increaing and decreasing order 
    for(j=1;j<=i;j++) 
    { 
    printf("%c",'A' + j-1); 
    } 
    j=j-2; 
    for(;j>1;j--) 
    { 
    printf("%c",'A' + j-1); 
    } 
    printf("\n"); 
} 
getch(); 
} 
+0

您能解釋一些關於您的代碼/ – abhiarora

+0

可以打印空格,然後打印空格,然後按字母順序排列,例如ABC,然後用第三個循環打印字母順序CBA,這樣您就可以打印A然後是ABA等。 –

+0

將它添加到您的答案中 – abhiarora