#include<stdio.h>
int main()
{
//每一行的每一个位置为k
int j ;
int k = 1;
scanf_s("%d", &j);//j为行数
for (int i = 1; i <= j; i++)//行数循环,每一行的行数为i
{
if (i == 1 ||i == j)//首末两行的循环条件
{
for (int k = 1; k <=j; k++)
{
printf("*");
if (k == j)
printf("*\n");
}
}
if (i != 1 && i != j)//逻辑运算符与
{
for (int k = 1; k <= j; k++)
{
if (k == (j + 1) - i)
printf("*");
else printf(" ");
if (k == j)
printf("\n");
}
}
}
}
首先从首末两行的情况用for进行一次循环,再对中间需要出现空格的地方进行第二个for的处理,当中需要判断换行的就用if语句进行判断就行