输入一个n ,然后在屏幕上打印出NxN 的矩阵!

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 112 收藏 0 点赞 0 评论 0

例如,输入一个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

答案如下:

#include<stdio.h>
#include<conio.h>
#define N 10

void printCube(int a[][N],int n);

void main()
{
int a[N][N],n;
printf(“input n:n”);
scanf(“%d”,&n);
printCube(&a[0],n);
getch();
}

void printCube(int a[][N],int n)
{
int i,j,round=1;
int m=1;
for(i=0;i<n;i++)
a[0]=m++;
for(i=n-1;i>=n/2;i–)
{
for(j=round;j<=i;j++)
a[j]=m++;
for(j=i;j>=round;j–)
a[j-1]=m++;
for(j=i;j>round;j–)
a[j-1][round-1]=m++;
for(j=round;j<i;j++)
a[round][j]=m++;
round++;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf(“%3d”,a[j]);
printf(“n”);
}

 

评论列表
文章目录