一个螺旋矩阵的C语言代码 by wsc

来自新浪博客:http://blog.sina.com.cn/s/blog_3fdbb88a0100vjxa.html


一个螺旋矩阵的C语言代码 (2011-10-26 21:25:05)

原题目链接:
http://www.hack95.com/read.php?tid-108899-fpage-4-displayMode-1-page-1.html
题目描述:
从键盘输入一个整数(1~20 
则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如: 
输入数字2,则程序输出: 
1 2 
4 3 
输入数字3,则程序输出: 
1 2 3 
8 9 4 
7 6 5 
输入数字4, 则程序输出: 
1  2   3   4 
12  13  14  5 
11  16  15  6 
10   9  8   7 


看题理解,15min;编程调试运行,45min:共1hour,是不是太慢了,好久都没编程做数学题了!!!

代码如下:

//spiral_matrix.cpp
//
#include 
#define N 25

int main()
{
	while(1)
	{
		
		int length,i,num=1,row=0,col=0;
		int matrix[N+1][N+1]={0};
		printf("Please input a number in 1-%d: ",N);
		scanf("%d",&length);
		int max=length*length;
		for(i=0;icol;col++)
				matrix[row][col]=num++;
			for (;length-1-i>row;row++)
				matrix[row][col]=num++;
			for (;col>i;col--)
				matrix[row][col]=num++;
			for (;row>i;row--)
				matrix[row][col]=num++;
			row++;col++;
		}
		if(length%2==1)
			matrix[row][col]=num++;
		for(row=0;row


你可能感兴趣的:(算法整理)