C语言-九宫格

问题描述:

将1-9,,9个数字填入3*3的方格中,使得每行,列,对角线和相等。

(将1填入第一列中间位置,然后依次填入前一个数左上角位置,原则:左出右入,上出下入,占位右移)

#include<stdio.h>

int main()
{
	int a[3][3],i,j,x=1,y=0,x1,y1;
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			a[i][j]=0;
		}
	}
	a[x][y]=1;
	for(i=2;i<10;i++)
	{
		x1=x-1;y1=y-1;
		if(x1<0) x1=2;
		if(y1<0) y1=2;
		if(a[x1][y1]!=0)
		{
			x1=x;
			y1=y+1;
		}
		a[x1][y1]=i;
		x=x1;
		y=y1;
	}
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
			printf("%d ",a[i][j]);
		printf("\n");
	}
}
    原文作者:九宫格问题
    原文地址: https://blog.csdn.net/jiayouliying/article/details/48930509
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞