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;}忘诸位前辈指点一二。