我写了个,大家参考下:
#include
<stdio.h>
int
main(void)
{
int
N,i, j;
int
a[100][100];
printf("Please input n:");
scanf("%d", &N);
// 把字符数组所有的单位画成空格
for (i = 1; i <= 2 * N + 3; i++)
for (j = 1; j <= 6 * N; j++)
a[i][j] = ' ';
// 在需要的地方换成*字符
i = 1;
// 变换最底下的一行
for (j = 1; j <= 4 * N ; j++)
{
if (0 != j % 2)
a[i][j] = '*';
}
j = 1;
// 变换左边的斜竖行
while(i <= (N + 1) * 2) // 行数上移N+1次
{
i += 2;
// 行数上移两个单位,列数右移1个单位
j++;
a[i][j] = '*';
}
i = 1;
// 变换右边的斜竖行
j = 4 * N - 1;
while (i <= 2 * N + 3)
{
i += 2;
j++;
a[i][j] = '*';
}
i -= 2; // 变换顶行
j = N + 2;
while (j <= 5 * N )
{
j += 2;
a[i][j] = '*';
}
// 输出最后的图形
for (i = 2 * N + 3;i >= 1; i--)
{
for (j = 1; j <= 5 * N ; j++)
printf("%c", a[i][j]);
printf("\n");
}
return
0;
}
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
图片附件: 游客没有浏览图片的权限,请
登录 或
注册