天天看點

c語言列印一個字母金字塔,列印字母金字塔,昨晚看到某個文章的題目

該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓

程式設計實作列印字母金字塔

如以下形式:

A

ABA

ABCBA

ABCDCBA

ABCDEDCBA

ABCDEFEDCBA

ABCDEFGFEDCBA

ABCDEFGHGFEDCBA

ABCDEFGHIHGFEDCBA

ABCDEFGHIJIHGFEDCBA

程式代碼:

#include

#include

void print1(int i,int n);//列印每行的空格

void print2(int n);//列印字母

int main()

{

int n;

loop:printf("輸入你要金字塔層數n:");

scanf("%d",&n);

if(n>0&&n<27)

{

print2(n);//列印金字塔

}

else

{

printf("您的輸入有誤0

goto loop;

}

return 0;

}

void print1(int i,int n)

{

while(n-i-1>0)

{

printf(" ");

i++;

}

}

void print2(int n)

{ int i,j;

char *str;

printf("%d層字母金字塔:\n",n);

str=(char*)malloc(sizeof(char)*n);

str[0]='A';

for(i=0;i

{

str[i+1]=str[i]+1;

print1(i,n);//列印每層前半部分面的空格

for(j=0;j<2*(i+1)-1;j++)

{

if(j>i)

printf("%c",str[2*i-j]);

else

printf("%c",str[j]);

}

print1(i,n);

printf("\n");//換行

}

}