这题我用c++输出方阵全是0!希望犇犇快点看见
查看原帖
这题我用c++输出方阵全是0!希望犇犇快点看见
494976
TingQuACShengYiPian楼主2021/7/12 15:58

所以在题目上已经说了,比如输入4,输出

  0  0  0  0
  0  0  0  0
  0  0  0  0
  0  0  0  0

以下是代码(c++):

#include<bits/stdc++.h> 
using namespace std;
int a[10][10];
bool vis[10][10];
int x=0,y=0;
int n;
int next[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
int i=1;
int j=0;
int main(){
    cin>>n;
    while(i<=n*n){
        a[x][y]=i;
        vis[x][y]=1;
        if(x+1==n||y+1==n||vis[x+next[j][0]][y]==1||vis[x][y+next[j][1]]==1){
            j++;
            if(j==4){
                j=0;
            }
        }
        x+=next[j][0];
        y+=next[j][1];
        i++;
    }
    for(int k=0;k<n;k++){
        for(int l=0;l<n;l++){
            cout<<" ";
            if(a[i][j]<10){
                cout<<" ";
            }
            cout<<a[i][j];
        }
        cout<<"\n";
    }
    return 0;
}
2021/7/12 15:58
加载中...