C语言for循环打印菱形
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
//上半部分
int h,k,x;//h行数,k空格数,x星星数
for(h=1;h<=n;h++){
for(k=1;k<=n-h;k++){
printf(" ");
}
for(x=1;x<=2*h-1;x++){
printf("*");
}
printf("\n");
}
//当下半部分第一行定为第一行时
int z;
z=n;
for(h=1;h<=n-1;h++){
for(k=1;k<=h;k++){
printf(" ");
}
for(x=2*z-3;x>=1;x--){//上半部分打印完最后一行是2*n-1个星星,则下一行为2*n-3个星星
//下下一行变成了2*(n-1)-1个星星,如果使用n--,上面的行数空格数控制条件被破坏了,所以重新定义一个等于n的变量,来控制星星数
printf("*");
}
printf("\n");
z--;
}
return 0;
}
忘诸位前辈指点一二。