【c语言】层次方阵

题目:找规律输出N*N方阵,如N=8时,其方阵如下:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1 1 2 3 4 4 4 4 4 4 4 4 4 4 3 2 1 1 2 3 4 5 5 5 5 5 5 5 5 4...

题目:找规律输出N*N方阵,如N=8时,其方阵如下:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1
1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1
1 2 3 4 4 4 4 4 4 4 4 4 4 3 2 1
1 2 3 4 5 5 5 5 5 5 5 5 4 3 2 1
1 2 3 4 5 6 6 6 6 6 6 5 4 3 2 1
1 2 3 4 5 6 7 7 7 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 7 7 7 6 5 4 3 2 1
1 2 3 4 5 6 6 6 6 6 6 5 4 3 2 1
1 2 3 4 5 5 5 5 5 5 5 5 4 3 2 1
1 2 3 4 4 4 4 4 4 4 4 4 4 3 2 1
1 2 3 3 3 3 3 3 3 3 3 3 3 3 2 1
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

#include <stdio.h>
#define N 8

int main(){
	int x=0,y=0,i,j;
	for(i=1;i<=2*N;++i){
		for(j=1;j<=2*N;++j){
			if(i>N) x=2*N-i+1;
			else	x=i;
			
			if(j>N) y=2*N-j+1;
			else	y=j;
			
			if(x<y) printf("%-2d",x);
			else	printf("%-2d",y);
		}
		printf("\n");
	}
	return 0;
}

 

本文标题为:【c语言】层次方阵

基础教程推荐