我的程序是什么鬼
查看原帖
我的程序是什么鬼
780774
iqiqiqiqiqiqiqiq楼主2024/2/24 21:55

我的程序犯傻,明明if不满足它还执行

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[10][10],n,x=1,y=1,xa=0,ya=1;
    memset(a,0,sizeof(a));
    cin>>n;
    a[x][y]=1;
    for(int i=2;i<=n*n;i++){
        if(x==n||a[x+1][y]!=0){
			if(!(y==1||a[x][y-1]!=0)){//就是这!这个傻子代码直接在不满足条件的情况下执行了!
				xa=0;ya=-1;
  			}
	    }else if(y==n||a[x][y+1]!=0){
            xa=1;ya=0;
        }else if(x==1||a[x-1][y]!=0){
            xa=0;ya=1;
        }else if(y==1||a[x][y-1]!=0){
            xa=-1;ya=0;
        }x+=xa;y+=ya;
        a[x][y]=i;
    }for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            printf("%3d",a[i][j]);
        }cout<<endl;
    }return 0;
}
2024/2/24 21:55
加载中...