帮忙分析下c程序,字母金字塔问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 18:19:50
#include<stdio.h>

main()
{
int n,i,j,k;
printf("Input n:");
scanf("%d",&n);
if(n==1)
{
printf("A\n"); //如果输入1则打印A
}
else
{
k=2*(n-1);
for(i=0;i<n;i++)
{
for(j=0;j<k;j++)
{
printf(" ");
}
k-=2;
for(j=0;j<i;j++)
{
printf("%c ",'A'+j);
}
for(j=i-2;j>=0;j--)
{
printf("%c ",'A'+j);
}
printf("\n");
}
}
}

每一个for 都是什么意思,谢谢

#include<stdio.h>

main()
{
int n,i,j,k;
printf("Input n:");
scanf("%d",&n);
if(n==1)
{
printf("A\n"); //如果输入1则打印A
}
else
{
k=2*(n-1);
for(i=0;i<n;i++) //打印n行。
{
for(j=0;j<k;j++) //前面的空格数k个。
{
printf(" ");
}
k-=2;
for(j=0;j<i;j++) //控制前面输出字符,直到最大的。
{
printf("%c ",'A'+j);
}
for(j=i-2;j>=0;j--) //控制输出最大字符后面的。
{
printf("%c ",'A'+j);
}
printf("\n");
}
}
}