⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 奇数幻方.cpp

📁 对偶数进行幻方
💻 CPP
字号:
#include<iostream.h>
#include<iomanip.h>
//const int M=508;

void main()
{
	
	int i,j;
	int N;
	cout<<"请输入一个正奇数:"<<endl;
	cin>>N;
	int count=0;
	while(N%2==0||N<0)
	{
		count++;
		if(count>=3)
		{
			cout<<"不能输入偶数或负数,";
		}
		cout<<"请输入一个正奇数:"<<endl;
		cin>>N;
	}
	
	int **hf=new int*[N];//定义二维数组动态分配空间
	for(i=0;i<N;i++)
		hf[i]=new int[N];
	
	for(i=0;i<N;i++)//二维数组赋初值
		for(j=0;j<N;j++)
			hf[i][j]=0;
	
		

	int number=1;
	i=0;
	j=(N-1)/2;
	hf[i][j]=number;
	while(number<N*N)//向幻方里写数
	{
		int ii,jj;
		ii=i;
		jj=j;
		i=i-1;
		if(i==-1) i=N-1;
		j=j+1;
		if(j==N) j=0;
		if(hf[i][j]==0)
			hf[i][j]=++number;
		else
		{
			j=jj;
			i=ii+1;
			if(i==N) i=0;
			hf[i][j]=++number;
		}
			
	}

	cout<<N<<"阶幻方:"<<endl;
	for(i=0;i<N;i++)
	{
		for(j=0;j<N;j++)
			cout<<ends<<setw(4)<<hf[i][j];
		cout<<endl;cout<<endl;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -