C语言打印菱形,输入n为上半部分的行数(包括中间一行),下半部分的行数则为n-1
//打印菱形
int n,i;//n为上部分行数包括中间一行
scanf("%d",&n);
for (i=1; i<=n; i++)
{
int j,k;
//从上往下,每行的空白数为n-1,n-2,n-3,...,0
for(j=i; j<=n-1/*(2*n-1)/2*/; j++)
{
printf(" ");
}
for(k=1; k<=2*i-1; k++)
{
printf("*");
}
printf("\n");
}
//此时循环次数为n-1
for(i=1; i<n; i++)
{
int j,k;
//下部分,空白数每行为1,2,3,...,n-1;
for(j=1; j<=i; j++)
{
printf(" ");
}
//下部分*个数为2*(n-1)-1,2*(n-2)-1,...,1
for(k=1; k<=2*(n-i)-1; k++)
{
printf("*");
}
printf("\n");
}