让程序要求用户输入一个大写字母,使用嵌套循环产生如下的金字塔图案:
A
ABA
ABCBA
ABCDCDA
ABCDEDCBA
提示:使用一个外部循环来处理行,在每一行中使用三个内部循环,一个处理空格,一个以升序打印字母,一个以降序打印字母。
#include<stdio.h>
void main()
{
inti,j,k,p,n;
intflag=0;
charch;
printf("请输入一个大写字母\n");
scanf("%c",&ch);
printf("请输入行数\n");
while(scanf("%d",&n)==1)
{
for(i=0;i<n;i++)//处理行数
{
intsize=i-1;
for(j=0;j<n-i;j++)//处理空格
printf("");
for(k=0;k<=i;k++)//升序排列字母
{
printf("%c",ch+flag);
flag++;
}
for(p=0;p<i;p++)//降序排列字母
{
if(i==0)
printf("");
else
printf("%c",ch+size);
size--;
}
printf("\n");
flag=0;
}
printf("请输入行数\n");
}
}
在设计过程中只要发现图案规律就很容易编写程序,在写代码过程中我发现如果把输入字母和输入行数的顺序弄错的话就得不到想要的结果,应该是先输入字母,然后再输入行数,这样才可能得到正确的结果,