打印如下的图案
我把它拆分为12行,每行又分空格部分、正序字母部分、倒序字母部分。于是可写成
#include <stdio.h>
int main()
{
int i,j;
char a;
a=65;
for(i=1;i<=12;i++)
{
for(j=1;j<=12-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%c",a+j-1);
for (j=i+1;j<=2*i-1;j++)
printf("%c",a+2*i-1-j);
printf("\n");
}
}
运行后能达到理想效果。
在做完这题后我有两个疑问
1:我想达到倒影金字塔的效果,于是我在这个大循环之后再加上for(i=11;i>=1;i--),即打印完这十二行后,再打印第11行,第10行....第一行。能通过编译但是不能运行。
2:观察发现该金字塔在纵向有明显的规律。第一列11个空格,65;第二列10个空格,65,66;第三列9个空格,65,66,67..... 不知道能不能按这个规律来编排程序最后再转置输出。 请看一下以上两点有无可行性。
我把它拆分为12行,每行又分空格部分、正序字母部分、倒序字母部分。于是可写成
#include <stdio.h>
int main()
{
int i,j;
char a;
a=65;
for(i=1;i<=12;i++)
{
for(j=1;j<=12-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%c",a+j-1);
for (j=i+1;j<=2*i-1;j++)
printf("%c",a+2*i-1-j);
printf("\n");
}
}
运行后能达到理想效果。
在做完这题后我有两个疑问
1:我想达到倒影金字塔的效果,于是我在这个大循环之后再加上for(i=11;i>=1;i--),即打印完这十二行后,再打印第11行,第10行....第一行。能通过编译但是不能运行。
2:观察发现该金字塔在纵向有明显的规律。第一列11个空格,65;第二列10个空格,65,66;第三列9个空格,65,66,67..... 不知道能不能按这个规律来编排程序最后再转置输出。 请看一下以上两点有无可行性。