社区讨论

求助 关于scanf输入字符的问题

P5730【深基5.例10】显示屏参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lobicqkk
此快照首次捕获于
2023/10/29 21:29
2 年前
此快照最后确认于
2023/11/04 02:40
2 年前
查看原帖
CPP
#include<iostream>
#include<cstdio> 
using namespace std;
int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {	
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9')
        x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
    return x*f;
}
char c[110];
string k[10][6];      //  k[i][j]表示第i个数字第j行该输出什么 
int main()
{
	int n=read();
	for(int i=1;i<=n;i++) scanf("%c",&c[i]);
	k[0][1]="XXX",k[0][2]="X.X",k[0][3]="X.X",k[0][4]="X.X",k[0][5]="XXX"; 
	k[1][1]="..X",k[1][2]="..X",k[1][3]="..X",k[1][4]="..X",k[1][5]="..X";
	k[2][1]="XXX",k[2][2]="..X",k[2][3]="XXX",k[2][4]="X..",k[2][5]="XXX";
	k[3][1]="XXX",k[3][2]="..X",k[3][3]="XXX",k[3][4]="..X",k[3][5]="XXX";
	k[4][1]="X.X",k[4][2]="X.X",k[4][3]="XXX",k[4][4]="..X",k[4][5]="..X";
	k[5][1]="XXX",k[5][2]="X..",k[5][3]="XXX",k[5][4]="..X",k[5][5]="XXX";
	k[6][1]="XXX",k[6][2]="X..",k[6][3]="XXX",k[6][4]="X.X",k[6][5]="XXX";
	k[7][1]="XXX",k[7][2]="..X",k[7][3]="..X",k[7][4]="..X",k[7][5]="..X";
	k[8][1]="XXX",k[8][2]="X.X",k[8][3]="XXX",k[8][4]="X.X",k[8][5]="XXX";
	k[9][1]="XXX",k[9][2]="X.X",k[9][3]="XXX",k[9][4]="..X",k[9][5]="XXX";
	for(int i=1;i<=5;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cout<<k[c[j]-'0'][i];
			if(j!=n) printf(".");
		}
			
		printf("\n");
	}
	return 0;	
} 
这份代码是AC不了的 但只要把
CPP
scanf("%c",&c[i]);
改成
CPP
scanf(" %c",&c[i]);
就AC了 请问dalao这是为什么?

回复

3 条回复,欢迎继续交流。

正在加载回复...