那感觉没问题了
把代码敲电脑里试试。
题主的判断正确,for(j=1;j<=n-i-1;j++) 这里的条件有问题,书上的代码有错误的,两种效果图形运行如下,供参考:
#include<stdio.h>
void main()
{
char c;
int i,j,k,n;
printf("输入n:");
scanf("%d",&n);
printf("对应的菱形图\n");
c = 'A';
for(k=1-n;k<=n-1;k++)
{
i = n-abs(k);
for(j=1;j<=n-i-1;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%c",c);
printf("\n");
c++;
}
}
#include<stdio.h>
void main()
{
char c;
int i,j,k,n;
printf("输入n:");
scanf("%d",&n);
printf("对应的菱形图\n");
c = 'A';
for(k=1-n;k<=n-1;k++)
{
i = n-abs(k);
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%c",c);
printf("\n");
c++;
}
system("pause");
}