如何用C语言编出一个N阶螺旋方阵?
來源:互聯網 2009-06-01 10:17:07 評論
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
問題描述:
例如:1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
參考答案:
int n为阶数,具体打印格式你可以按需要改
void op(int n)
{
int i=0,j=0;
int*(*p);
int temp = 1;
int t;
p = (int**)malloc(sizeof(int*)*n);
for (t=0;t
{
p[t]=(int*)malloc(sizeof(int)*n);
}
for (t=0;t
{
for (;j
p[i][j] = temp++;
j--;
i++;
for(;i
p[i][j] = temp++;
i--;
j--;
for(;j>=t;j--)
p[i][j] = temp++;
j++;
i--;
for(;i>t;i--)
p[i][j] = temp++;
j++;
i++;
}
for (i=0;i
{
for (j=0;j
{
printf(\"%3d \",p[i][j]);
}
printf(\"\\n\");
}
}
[b]分类:[/b] 电脑/网络 >> 程序设计 >> 其他编程语言[br][b]问题描述:[/b][br]例如:1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7[br][b]参考答案:[/b][br]int n为阶数,具体打印格式你可以按需要改
void op(int n)
{
int i=0,j=0;
int*(*p);
int temp = 1;
int t;
p = (int**)malloc(sizeof(int*)*n);
for (t=0;t
{
p[t]=(int*)malloc(sizeof(int)*n);
}
for (t=0;t
{
for (;j
p[i][j] = temp++;
j--;
i++;
for(;i
p[i][j] = temp++;
i--;
j--;
for(;j>=t;j--)
p[i][j] = temp++;
j++;
i--;
for(;i>t;i--)
p[i][j] = temp++;
j++;
i++;
}
for (i=0;i
{
for (j=0;j
{
printf(\"%3d \",p[i][j]);
}
printf(\"\\n\");
}
}