kbjh @ 2024-10-08 23:14:32
_我的想法就是知道要输出那些数以后,一行一行的把它们的模样描绘出来。输出看上去真的没什么问题,求助呀啊啊啊
#include<iostream>
using namespace std;
char mem[12][5][4]={
"XXX",//0
"X.X",
"X.X",
"X.X",
"XXX",
"..X",//1
"..X",
"..X",
"..X",
"..X",
"XXX",//2
"..X",
"XXX",
"X..",
"XXX",
"XXX",//3
"..X",
"XXX",
"..X",
"XXX",
"X.X",//4
"X.X",
"XXX",
"..X",
"..X",
"XXX",//5
"X..",
"XXX",
"..X",
"XXX",
"XXX",//6
"X..",
"XXX",
"X.X",
"XXX",
"XXX",//7
"..X",
"..X",
"..X",
"..X",
"XXX",//8
"X.X",
"XXX",
"X.X",
"XXX",
"XXX",//9
"X.X",
"XXX",
"..X",
"XXX"
};
int n;
char num[110];
int main(){
scanf("%d",&n);
for(int i=0;i<n+1;i++){
scanf("%c",&num[i]);
}
//每一行都看一次num
for(int r=0;r<5;r++){//row
for(int ber=1;ber<n+1;ber++){//num里面每个数的第r行
cout<<mem[num[ber]-'0'][r];
if(ber!=n) cout<<'.';
}
if(r!=4) cout<<endl;
}
}
by goodsnack @ 2024-10-21 18:17:05
你没做输入控制
by milk2715093695 @ 2024-10-22 18:43:48
如果是本地全过洛谷全 WA 应该是这个问题
应该是一个很常见的问题:洛谷上的输入使用的是 Windows 下的文件输入(应该是),换行符不是单个 \n
而是 \r\n
,所以如果用scanf(%c)的话要额外做一次把 \r
也消除掉。
可以看我之前发过的帖子