該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
程式設計實作列印字母金字塔
如以下形式:
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");//換行
}
}