【发布时间】:2018-12-20 10:17:01
【问题描述】:
我必须从# 和. 创建螺旋。它必须根据变量n 进行扩展。问题是我无论如何尝试都无法创建它。到目前为止,我的程序在测试中遇到了分段错误。在描述图像中输出n = 7。
有人可以帮忙吗?
char a[100][100];
int n = 7;
int r,s;
void write(char *a[], int n)
{
int i, j;
for (i=0;i<n;i++)
{
for (j=0; j<n;j++)
a[i][j]=".";
}
}
void right (int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void down(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void up(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
void left(int length)
{
int k=0;
for (k=0;k<length;k++)
a[r][s+k] = '#';
}
【问题讨论】:
-
您在此处将字符串分配给 char 数组 a[i][j]=".";您需要像这样分配一个字符 a[i][j]='.';
-
忽略 scanf() 的返回值,后果自负。考虑不要,
-
为什么
up、down、left、right的功能都一样? -
检查你的作业。此作业通常由教师创建,但有限制不要使用和排列,而是一次性直接打印行。