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

📄 magic.cpp

📁 魔幻方块!输入魔方的阶数n(n为奇数)后
💻 CPP
字号:
#include<iostream>
#include<string.h>
using namespace std;
void main()
{
	int i,j,n;
	cout<<"请输入魔方的阶数:";
	cin>>n;
	while(n<1||n%2==0)
	{
		cout<<"输入的阶数错误!\n请输入魔方的阶数:";
		cin>>n;	
	}
	int **N=new int *[n];
	for(i=0;i<n;i++)
		N[i]=new int[n];
	for(i=0;i<n;i++)
		for(j=0;j<n;j++)
			N[i][j]=0;
	i=0;j=(n-1)/2;
	N[i][j]=1;
	for(int k=2;k<=n*n;k++)
	{
		i--;
		j--;
		if((i==-1)&&(j==-1))
		{
			i=1;j=0;
		}
		else if(i==-1)
		{
			i=n+i;
		}
		else if(j==-1)
		{	
			j=n+j;
		}
		if(N[i][j]!=0)
		{
			i+=2;
			j++;
			N[i][j]=k;
		}
		else N[i][j]=k;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(N[i][j]>=100)
				cout<<" "<<N[i][j];
			else if(N[i][j]>=10)
				cout<<"  "<<N[i][j];
			else 
			cout<<"   "<<N[i][j];
		}
		cout<<endl;
	}
	for(i=0;i<n;i++)
		delete []N[i];
	delete []N;
	getchar();
}

⌨️ 快捷键说明

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