在C语言中用数组输出N*N矩阵,形式如下:如果N为3,显示第一行为123第2行为894,第3行为765,即数据顺时针环绕

来源:百度知道 编辑:UC知道 时间:2024/06/03 12:22:10
如:输入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
麻烦各位高手了,请大家用C语言啊.我水平菜,新手啊!

/*本人使用Dev-Cpp 4.9.9.2,老兄,下次问把分加高一点!*/
#include<iostream>
#define N 9
using namespace std;
unsigned int n,Sqare[N][N];
void Work()
{
int i=0,j=0,Sum=1,Temp=n*n,num=0;
while(Sum<=Temp)
{
while(j<n-num)
{
Sqare[i][j]=Sum++;
j++;
}
j--;
while(i<n-num)
{
Sqare[i][j]=Sum++;
i++;
}
i--;
while(j>0+num)
{
Sqare[i][j]=Sum++;
j--;
}
j++;
while(i>0+num)
{
Sqare[i][j]=Sum++;
i--;
}
i++,num++;
}
}
void Print()
{
unsigned int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<Sqare[i][j]<<' ';
cout<<endl;
}
}
int main()
{
cin>>n;
Work();
Print();