60分求调
查看原帖
60分求调
773386
Error303楼主2023/8/6 12:36

怎么会有人打表都过不了啊

以下是我写的代码,在n超过10的时候就会出毛病,结果总是会输出整形最大值的前10位,如果位数不够他就会自己补0 下面是代码 甚至是最笨的打表法

#include<bits/stdc++.h>

using namespace std;
char a[6][605];
int n,b,d[101];

int main(){
	
	cin>>n;
	cin>>b;
	for(int i=n;i>=1;i--){
		d[i]=b%10;
		b/=10;
	}
	int c=1;
	for(int i=1;i<=n;i++){
		if(d[i]==0){
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;			
		}
		else if(d[i]==1){
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==2){
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==3){
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==4){
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==5){
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==6){
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==7){
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else if(d[i]==8){
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
		else{
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='.';
			a[3][c]='X';
			a[4][c]='.';
			a[5][c]='X';
			c++;
			a[1][c]='X';
			a[2][c]='X';
			a[3][c]='X';
			a[4][c]='X';
			a[5][c]='X';
			c++;
			a[1][c]='.';
			a[2][c]='.';
			a[3][c]='.';
			a[4][c]='.';
			a[5][c]='.';
			c++;
		}
	
	}
	for(int i=1;i<=5;i++){
		for(int j=1;j<=c-2;j++)
			cout<<a[i][j];
		cout<<endl;
	}		
	
	return 0;
}
2023/8/6 12:36
加载中...