帮我看看我的代码哪里出问题了吧,与题目给的例子运行结果一样,但只有40分
查看原帖
帮我看看我的代码哪里出问题了吧,与题目给的例子运行结果一样,但只有40分
689435
QYlucky楼主2022/4/15 16:45
#include<bits/stdc++.h>
using namespace std;//本题主要用到了打表 
int n;
string s[5],a[10][5],str;//s表示最终输出的结果。a[0][1]表示数字0的第一行
//a[0][2]表示数字0的第二行,a[1][1]表示数字1的第一行。str表示输入的一系列数字 
int main(){
    a[0][0]="XXX";
	a[0][1]="X.X";
	a[0][2]="X.X";
	a[0][3]="X.X";	
	a[0][4]="XXX";
	
    a[1][0]="..X";
	a[1][1]="..X";
	a[1][2]="..X";
	a[1][3]="..X";	
	a[1][4]="..X";
	
    a[2][0]="XXX";
	a[2][1]="..X";
	a[2][2]="XXX";
	a[2][3]="X..";	
	a[2][4]="XXX";
	
    a[3][0]="XXX";
	a[3][1]="..X";
	a[3][2]="XxX";
	a[3][3]="..X";	
	a[3][4]="XXX";

    a[4][0]="X.X";
	a[4][1]="X.X";
	a[4][2]="XXX";
	a[4][3]="..X";	
	a[4][4]="..X";
	
    a[5][0]="XXX";
	a[5][1]="X..";
	a[5][2]="XXX";
	a[5][3]="..X";	
	a[5][4]="XXX";
	
    a[6][0]="XXX";
	a[6][1]="X..";
	a[6][2]="XXX";
	a[6][3]="X.X";	
	a[6][4]="XXX";
	
    a[7][0]="XXX";
	a[7][1]="..X";
	a[7][2]="..X";
	a[7][3]="..X";	
	a[7][4]="..X";
	
    a[8][0]="XXX";
	a[8][1]="X.X";
	a[8][2]="XXX";
	a[8][3]="X.X";	
	a[8][4]="XXX";
	
    a[9][0]="XXX";
	a[9][1]="X.X";
	a[9][2]="XXX";
	a[9][3]="..X";	
	a[9][4]="XXX";
	 
	cin>>n>>str;
	for(int i=0;i<n;i++){
		int t=str[i]-'0';
		for(int j=0;j<5;j++){
		   	s[j]=s[j]+a[t][j];
		   	if(i!=n-1) s[j]=s[j]+".";
		}
	}
	for(int i=0;i<5;i++)
	 cout<<s[i]<<endl;
	
    return 0;
}
2022/4/15 16:45
加载中...