c语言,测试点全错,输出的结果跟题目的一样

P5730 【深基5.例10】显示屏

preo @ 2022-12-20 20:26:10

#include <stdio.h>
#define MAXN1 400
#define MAXN2 100
int main()
{
    char a[5][MAXN1],b[MAXN2];
    int i,j,k,n;
    scanf("%d",&n);
    getchar();
    for(i=0;i<5;i++)
        for(j=0;j<4*n;j++)
            a[i][j]='X';
    for(i=0;i<n;i++)
        b[i]=getchar();
    j=0;
    for(k=0;k<n;k++)
    {
        if(b[k]=='0')
        {
            for(i=1;i<4;i++)
                a[i][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='1')
        {
            for(i=0;i<5;i++)
            {
                a[i][j]='.';
                a[i][j+1]='.';
            }
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='2')
        {
            a[1][j]='.';
            a[1][j+1]='.';
            a[3][j+1]='.';
            a[3][j+2]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='3')
        {
            a[1][j]='.';
            a[1][j+1]='.';
            a[3][j]='.';
            a[3][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='4')
        {
            a[3][j]='.';
            a[4][j]='.';
            a[0][j+1]='.';
            a[1][j+1]='.';
            a[3][j+1]='.';
            a[4][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='5')
        {
            a[3][j]='.';
            a[3][j+1]='.';
            a[1][j+1]='.';
            a[1][j+2]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='6')
        {
            a[1][j+1]='.';
            a[3][j+1]='.';
            a[1][j+2]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='7')
        {
            for(i=1;i<5;i++)
                a[i][j]='.';
            for(i=1;i<5;i++)
                a[i][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='8')
        {
            a[1][j+1]='.';
            a[3][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        else if(b[k]=='9')
        {
            a[1][j+1]='.';
            a[3][j]='.';
            a[3][j+1]='.';
            for(i=0;i<5;i++)
                a[i][j+3]='.';
        }
        j+=4;
    }
    for(i=0;i<5;i++)
    {
        for(j=0;j<4*n-1;j++)
            putchar(a[i][j]);
        printf("\n");
    }
    return 0;
}

by preo @ 2022-12-21 09:59:13

有没有大佬帮帮忙看一下~


by _8008008 @ 2022-12-31 11:37:41

最后一行的点不要输出


by _8008008 @ 2022-12-31 11:39:36

WA:

XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX.
X.X...X...X...X.X.X.X...X.....X.X.X.X.X.
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX.
X.X...X.X.....X...X...X.X.X...X.X.X...X.
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX.

AC:

XXX...X.XXX.XXX.X.X.XXX.XXX.XXX.XXX.XXX
X.X...X...X...X.X.X.X...X.....X.X.X.X.X
X.X...X.XXX.XXX.XXX.XXX.XXX...X.XXX.XXX
X.X...X.X.....X...X...X.X.X...X.X.X...X
XXX...X.XXX.XXX...X.XXX.XXX...X.XXX.XXX

by preo @ 2022-12-31 18:30:15

@_8008008 我这个最后一行点是没有输出的 看最后那个输出数组的j我-1了


by _8008008 @ 2022-12-31 18:39:59

确实


by _8008008 @ 2022-12-31 18:58:19

看不出来了把你和样例的扔进去看看

#include<iostream>
#include<string>
using namespace std;
int main(){
    string a,b;
    cin>>a>>b;
    if(a==b&&a.length()==b.length())cout<<1;
    else cout<<0;
    return 0;
} 

|