打印螺旋排列的数字
2012-09-26 15:03
141 查看
/*
* 演示多维(二维)数组的使用
* 在标准输出设备上打印螺旋数字
*
*/
#include<stdio.h>
int main(void)
{
int n, m, i, j, side = 0, k = 0, num = 1;
printf("请输入每行所要打印的数字的个数:");
scanf("%d", &n);
int a
;
//printf("%d\n", n);
for(m = n-1; m > 0; m = m-2)
{
if(side == 0)
{
for(i = 0; i < m; i++)
a[k][i+k] = num++;
}
side = (side+1)%4;
if(side == 1)
{
for(i = 0; i < m; i++)
a[i+k][n-1-k] = num++;
side = (side+1)%4;
}
if(side == 2)
{
for(i = 0; i < m; i++)
a[n-1-k][n-1-i-k] = num++;
side = (side + 1)%4;
}
if(side == 3)
{
for(i = 0; i < m; i++)
a[n-1-i-k][k] = num++;
side = (side + 1)%4;
}
k++;
}
if((n%2) == 1)
a[n/2][n/2] = n*n;
char * space = NULL;
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
space = a[i][j] > 9 ? " ":" ";
printf("%d%s", a[i][j], space);
}
printf("\n");
}
return 0;
}
* 演示多维(二维)数组的使用
* 在标准输出设备上打印螺旋数字
*
*/
#include<stdio.h>
int main(void)
{
int n, m, i, j, side = 0, k = 0, num = 1;
printf("请输入每行所要打印的数字的个数:");
scanf("%d", &n);
int a
;
//printf("%d\n", n);
for(m = n-1; m > 0; m = m-2)
{
if(side == 0)
{
for(i = 0; i < m; i++)
a[k][i+k] = num++;
}
side = (side+1)%4;
if(side == 1)
{
for(i = 0; i < m; i++)
a[i+k][n-1-k] = num++;
side = (side+1)%4;
}
if(side == 2)
{
for(i = 0; i < m; i++)
a[n-1-k][n-1-i-k] = num++;
side = (side + 1)%4;
}
if(side == 3)
{
for(i = 0; i < m; i++)
a[n-1-i-k][k] = num++;
side = (side + 1)%4;
}
k++;
}
if((n%2) == 1)
a[n/2][n/2] = n*n;
char * space = NULL;
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
space = a[i][j] > 9 ? " ":" ";
printf("%d%s", a[i][j], space);
}
printf("\n");
}
return 0;
}
相关文章推荐
- 打印螺旋排列的数字
- 递归:求螺旋排列数字的矩阵
- 打印螺旋数字矩阵
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
- 用 1,2,2,3,4,5 六个数字,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- 打印螺旋数字矩阵
- 打印某些数字的排列组合
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"与"5"不能相连.
- 一个解决数字螺旋排列的程序
- 面试题─用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列
- 按递增顺序打印数字n所有排列
- awk 实现数字螺旋打印
- 面试题─用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列
- 1,2,3…n*n 的数字按照顺时针螺旋的形式打印成矩阵(递归)
- 算法-数组:螺旋数字排列
- Java经典算法集——如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连
- 数字排序 键盘输入多个整数,输入quite后结束,把所有的整数倒序排列打印
- 给定一系列数字,请打印出这些数字的所有排列,例如1,2,2,3,4,请列出所有的排列
- 从文本文件中读取随机数,并打印出数字所出现的次数,按次数降序排列