求助 为什么把scanf输入换成cin就没事了
查看原帖
求助 为什么把scanf输入换成cin就没事了
80466
RizzzzziR楼主2021/6/18 16:40

以下为原来的代码,问题主要出在输入部分

#include<iostream>
#include<cstdio>
#include<string>
#include<cctype>
using namespace std;
int n;
int opn[105];
char ch;
char num[10][5][3]={
{{'X','X','X'},
{'X','.','X'},
{'X','.','X'},
{'X','.','X'},
{'X','X','X'},},//0
{{'.','.','X'},
{'.','.','X'},
{'.','.','X'},
{'.','.','X'},
{'.','.','X'},},//1
{{'X','X','X'},
{'.','.','X'},
{'X','X','X'},
{'X','.','.'},
{'X','X','X'},},//2
{{'X','X','X'},
{'.','.','X'},
{'X','X','X'},
{'.','.','X'},
{'X','X','X'},},//3
{{'X','.','X'},
{'X','.','X'},
{'X','X','X'},
{'.','.','X'},
{'.','.','X'},},//4
{{'X','X','X'},
{'X','.','.'},
{'X','X','X'},
{'.','.','X'},
{'X','X','X'},},//5
{{'X','X','X'},
{'X','.','.'},
{'X','X','X'},
{'X','.','X'},
{'X','X','X'},},//6
{{'X','X','X'},
{'.','.','X'},
{'.','.','X'},
{'.','.','X'},
{'.','.','X'},},//7
{{'X','X','X'},
{'X','.','X'},
{'X','X','X'},
{'X','.','X'},
{'X','X','X'},},//8
{{'X','X','X'},
{'X','.','X'},
{'X','X','X'},
{'.','.','X'},
{'X','X','X'},}};//9

int main()
{
	scanf("%d%c",&n,&ch);
	for(int i=1;i<=n;i++)
	{
		scanf("%c",&ch);
		opn[i]=ch-'0';
	}
	for(int i=0;i<5;i++)
		for(int j=1;j<=n;j++)
		{
			for(int k=0;k<3;k++)
				cout<<num[opn[j]][i][k];
			if(j!=n)	cout<<".";
				else	cout<<endl;
		}
	return 0;
}

都出现了相同的问题: Wrong Answer. wrong answer On line 1 column 1, read (ASCII 0), expected ..


然后仅把输入部分换成:

	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>ch;
		opn[i]=ch-'0';
	}

就没事(AC)了,想请教一下原因

2021/6/18 16:40
加载中...