// test_max.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
void printNN(int n)
{
int cnt=1;
int si=0;
int ei=n-1;
int **s;
s=(int**)malloc(n*sizeof(int*));
for(int i=0;i<n;i++)
{
s[i]=(int*)malloc(n*sizeof(int));
}
while(si<ei)
{
for(int i=si;i<ei;i++)
{
s[si][i]=cnt++;
}
for(int j=si;j<ei;j++)
{
s[j][ei]=cnt++;
}
for(int i=ei;i>si;i--)
{
s[ei][i]=cnt++;
}
for(int j=ei;j>si;j--)
{
s[j][si]=cnt++;
}
si++;
ei--;
}
s[si][ei]=n*n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d ",s[i][j]);
}
cout<<endl;
}
}
int main()
{
int n;
printf("Please enter the Array size N*N: N=");
scanf("%d",&n);
printNN(n);
system("pause");
return 0;
}
《程序员面试宝典》打印规律矩阵
最新推荐文章于 2023-07-29 09:41:04 发布