社区讨论
大佬看看这个幻方程序哪儿错了
题目总版参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi85x94b
- 此快照首次捕获于
- 2025/11/21 09:09 4 个月前
- 此快照最后确认于
- 2025/11/21 09:09 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int a[22][22],ans,x,y,n,nb,sb=1;
int main()
{
cin>>n;
x=1;
y=(n/2)+1;
a[x][y]=sb;
sb=2;
while(sb<=n*n)
{
if(x-1<1||a[x-1][y]!=0)
{
y++;
x=n;
a[x][y]=sb;
}
else
{
if(y+1>n||a[x][y+1]!=0)
{
y=1;
x--;
a[x][y]=sb;
}
else
{
if(x-1<1&&y+1>n||a[x+1][y+1]!=0)
{
x++;
a[x][y]=sb;
}
else
{
x++;
y++;
a[x][y]=sb;
}
}
}
sb++;
}
for(int i=1;i<=n;i++)
{
for(int e=1;e<=n;e++)
{
cout<<a[i][e]<<" ";
}
cout<<endl;
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...