for(i = 1; i <= N; i++) //主循環,控制要打印的層數,N為總層數,i為層數控制變量
{
for (j = 1; j < N - i +1; j++) // 第二層循環,控制*號前面要打印的空格,數量為N-i+1
{
printf(" ");
}
for (j = 1; j <= 2 * i -1; j++) //第二層循環,控制要打印的*號數,數量為2i-1
{ //(i為當前循環層數)
printf("*");
}
printf("\n");
}
全部代碼如下:
如還有問題,可追問
#include <stdio.h>
#define N 10
main()
{
int i, j;
for(i = 1; i <= N; i++)
{
for (j = 1; j < N - i +1 ; j++)
{
printf(" ");
}
for (j = 1; j <= 2 * i-1; j++)
{
printf("*");
}
printf("\n");
}
getchar();
}