首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一到笔试题,求解!多谢了!

2012-03-12 
一到笔试题,求解!!!谢谢了!!!一道笔试题,没答出来,请教!!题:如矩阵11211102131693141584567找出规律,并打

一到笔试题,求解!!!谢谢了!!!
一道笔试题,没答出来,请教!!
题:如矩阵   1   12   11   10
                      2   13   16   9
                      3   14   15   8
                      4   5     6     7
找出规律,并打印出一个N*N的矩阵;
(规律就是逆时针依次增大),求给个算法,有代码就更好了。谢谢!!

[解决办法]
在帖子里搜吧,螺旋矩阵。。。。。。。
[解决办法]
哦...
我以前写

只是相反啊

#include <iostream.h>
int a[10][10];
void Fun(int n)
{
int m=1;
for(int i=0;i <n/2;i++)
{
//&Eacute;&Iuml;&Atilde;&aelig;
for(int j=0;j <n-i;j++)
{
if(a[i][j]==0)
a[i][j]=m++;
}
//&Oacute;&Ograve;±&szlig;
for(j=i+1;j <n-i;j++)
{
if(a[j][n-1-i]==0)
a[j][n-1-i]=m++;
}
//&Iuml;&Acirc;&Atilde;&aelig;
for(j=n-i-1;j> i;j--)
{
if(a[n-i-1][j]==0)
a[n-i-1][j]=m++;
}
//×ó±&szlig;
for(j=n-i-1;j> i;j--)
{
if(a[j][i]==0)
a[j][i]=m++;
}
}
if(n%2==1)
a[n/2][n/2]=m;
}


void main(void)
{
int n;
cin> > n;
for(int i=0;i <n;i++)
{
for(int j=0;j <n;j++)
a[i][j]=0;
}
Fun(n);
for(i=0;i <n;i++)
{
for(int j=0;j <n;j++)
{
cout < <a[i][j] < < " ";
}
cout < <endl;
}
}

热点排行