关于本地ac但在线全wa的提醒!
查看原帖
关于本地ac但在线全wa的提醒!
804328
mojito822楼主2023/3/4 17:34

这是我原来的代码,用getchar去接收换行符的,本地是全都正确的,但是提交和在线ide都全是‘*’,

#include <stdio.h>
char a[105][105] ,string[] = "yizhong",ch;
int isexist[105][105];
int dir[8][2]= {-1,-1,-1,0,-1,1,0,1,1,1,1,0,1,-1,0,-1};
void dfs(int x ,int y ,int direction)
{
    int i =x ,j =y ,k;
    for(k = 0; k <7 ;k++){
        if(string[k] != a[i][j]){
            return;
        }else{
            i+=dir[direction][0];
            j+=dir[direction][1];
        }
    }
    for(i = 0 ;i < 7 ;i++){
        isexist[x][y]++;
        x+=dir[direction][0];
        y+=dir[direction][1];
    }
}
int main(void)
{
    int n ,p ,q,t;
    scanf("%d" ,&n);
    for(p = 0; p < n ;p++){
 	getchar();
        for(q= 0 ;q< n ;q++){
           scanf("%c" ,&a[p][q]);
        } 
    }
    for(p = 0 ;p < n;p++){
        for(q = 0 ;q < n ;q++){
        	if(a[p][q]=='y'){
        		for(t = 0 ;t < 8;t++){
                	dfs(p,q,t);
            	}
			} 
        }
    }
    for(p = 0 ;p < n ;p++){
        for(q = 0 ;q < n  ;q++){
        	if(isexist[p][q]==0){
        		printf("*");
			}else{
				printf("%c" ,a[p][q]);
			} 
        }
        printf("\n");
    }
    return 0;
}

调试了好久,绝望!给遇到相同的问题的uu一个解决办法参考: 用scanf('\n')去接收换行符,然后就ac了

2023/3/4 17:34
加载中...