C语言二维数组输出矩阵

问题描述 :
 
从键盘上输入一个整数N,按以下规律输出一个(2N+1)*(2N+1)的矩阵:
对角线的值为1,
上半三角区域值为2,
下半三角区域值为3,
左半三角区域的值为4,
右半三角区域的值为5。

输入说明 :
 你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据数据占一行,大于零,小于等于8。
输出说明 :
 对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的终端)依次输出符合要求的矩阵,每行数据与数据之间以空格分隔,在行首和行尾不要输出多余的空格。在所有数据前后,以及两组数据之间不要输出多余的空行。

 #include <stdio.h>
int main()
{
int n = 0;
//scanf("%d", &n);
n = 5;
for (int i = 0; i <= 2*n; i++)
{
for (int j = 0; j <= 2*n; j++)
{
if (i == j || i + j == 2*n) {printf("1\t"); continue;}
if (j > i && j < 2* n - i && i < n) { printf("2\t"); continue; }
if (j < i && j > 2* n - i && i > n) { printf("3\t"); continue; }
if (j < i && j < 2* n - i)  { printf("4\t"); continue; }
if (j > i && j > 2* n - i)   { printf("5\t"); continue; }
 printf("-\t");
}
printf("\n");
}
}
 Output:
1
2
3
4
5
6
7
8
9
10
11
1   2   2   2   2   2   2   2   2   2   1   
4   1   2   2   2   2   2   2   2   1   5   
4   4   1   2   2   2   2   2   1   5   5   
4   4   4   1   2   2   2   1   5   5   5   
4   4   4   4   1   2   1   5   5   5   5   
4   4   4   4   4   1   5   5   5   5   5   
4   4   4   4   1   3   1   5   5   5   5   
4   4   4   1   3   3   3   1   5   5   5   
4   4   1   3   3   3   3   3   1   5   5   
4   1   3   3   3   3   3   3   3   1   5   
1   3   3   3   3   3   3   3   3   3   1   

在线测试通过

如果问题解决,麻烦点下我回答右边的采纳,谢谢

http://codepad.org/7CYWv5g6

看看这图就可以找出规律了。
图片说明