C++求助,为啥显示98行ans[i][j]处有错?
查看原帖
C++求助,为啥显示98行ans[i][j]处有错?
302026
doggy38楼主2024/8/21 20:21
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	char num[n+1];
	string ans[6][n+1];
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&num[i]);
		if(num[i]=='0')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='X.X';
			ans[3][i]+='X.X';
			ans[4][i]+='X.X';
			ans[5][i]+='XXX';
		}
		if(num[i]=='1')
		{
			ans[1][i]+='..X';
			ans[2][i]+='..X';
			ans[3][i]+='..X';
			ans[4][i]+='..X';
			ans[5][i]+='..X';
		}
		if(num[i]=='2')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='..X';
			ans[3][i]+='XXX';
			ans[4][i]+='X..';
			ans[5][i]+='XXX';
		}
		if(num[i]=='3')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='..X';
			ans[3][i]+='XXX';
			ans[4][i]+='..X';
			ans[5][i]+='XXX';
		}
		if(num[i]=='4')
		{
			ans[1][i]+='X.X';
			ans[2][i]+='X.X';
			ans[3][i]+='XXX';
			ans[4][i]+='..X';
			ans[5][i]+='..X';
		}
		if(num[i]=='5')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='X..';
			ans[3][i]+='XXX';
			ans[4][i]+='..X';
			ans[5][i]+='XXX';
		}
		if(num[i]=='6')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='X..';
			ans[3][i]+='XXX';
			ans[4][i]+='X.X';
			ans[5][i]+='XXX';
		}
		if(num[i]=='7')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='..X';
			ans[3][i]+='..X';
			ans[4][i]+='..X';
			ans[5][i]+='..X';
		}
		if(num[i]=='8')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='X.X';
			ans[3][i]+='XXX';
			ans[4][i]+='X.X';
			ans[5][i]+='XXX';
		}
		if(num[i]=='9')
		{
			ans[1][i]+='XXX';
			ans[2][i]+='X.X';
			ans[3][i]+='XXX';
			ans[4][i]+='..X';
			ans[5][i]+='XXX';
		}
	}
	int j=1;
	for(int i=1;i<=5;i++)
	{
		for(j=1;j<=n;j++)
		{
			printf("%s",ans[i][j]);
			if(j!=n)printf(".");
		}
	}
	return 0;
 } 
2024/8/21 20:21
加载中...