供参考:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n = 7, i, j;
//scanf("%d", &n);
n % 2 == 0 ? n-- : n;
for (i = -n / 2; i <= n / 2; i++)
{
for (j = 1; j <= abs(i); j++)
printf(" ");
for (j = 1; j <= n - 2 * abs(i); j++)
printf( "*");
for (j = 1; j <= abs(i); j++)
printf(" ");
if (i != n / 2) printf("\n");
}
return 0;
}
利用双层for循环并高中学过的等差数列进行计算需要输出的空格数和*的数目,如果不知道逻辑思维可以私聊我解决呀!
你一个printf就可以写出来,控制好空格和换行就行。 也可以用循环写出来