自测对,可我连提交都不行

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

lnxjun1 @ 2022-10-08 09:01:35

#include<stdio.h>
#include<string>
using namespace std;
int main()
{
    int n,i;
    scanf("%d",&n);
    int N[n];
    string a[5];
    for(i=0;i<=n;i++)
    {
        N[i]=getchar()-48;
    }
    for(i=0;i<=n;i++)
    {
        if(N[i]==0)
        {
            a[0]+="XXX";a[1]+="X.X";a[2]+="X.X";a[3]+="X.X";a[4]+="XXX";
        }
        if(N[i]==1)
        {
            a[0]+="..X";a[1]+="..X";a[2]+="..X";a[3]+="..X";a[4]+="..X";
        }
        if(N[i]==2)
        {
            a[0]+="XXX";a[1]+="..X";a[2]+="XXX";a[3]+="X..";a[4]+="XXX";
        }
        if(N[i]==3)
        {
            a[0]+="XXX";a[1]+="..X";a[2]+="XXX";a[3]+="..X";a[4]+="XXX";
        }
        if(N[i]==4)
        {
            a[0]+="X.X";a[1]+="X.X";a[2]+="XXX";a[3]+="..X";a[4]+="..X";
        }
        if(N[i]==5)
        {
            a[0]+="XXX";a[1]+="X..";a[2]+="XXX";a[3]+="..X";a[4]+="XXX";
        }
        if(N[i]==6)
        {
            a[0]+="XXX";a[1]+="X..";a[2]+="XXX";a[3]+="X.X";a[4]+="XXX";
        }
        if(N[i]==7)
        {
            a[0]+="XXX";a[1]+="..X";a[2]+="..X";a[3]+="..X";a[4]+="..X";
        }
        if(N[i]==8)
        {
            a[0]+="XXX";a[1]+="X.X";a[2]+="XXX";a[3]+="X.X";a[4]+="XXX";
        }
        if(N[i]==9)
        {
            a[0]+="XXX";a[1]+="X.X";a[2]+="XXX";a[3]+="..X";a[4]+="XXX";
        }
        if(i!=n&&i!=0)
        {
            a[0]+=".";a[1]+=".";a[2]+=".";a[3]+=".";a[4]+=".";
        }
    }
    for(i=0;i<=4;i++)
    {
        printf("%s\n",a[i].c_str());
    }

    return 0;
}

by jnyz2021109122116 @ 2022-10-08 09:30:25

@lnxjun1 几个问题

你用的啥语言,你提交语言是c,c是没有string的

c++的话getchar()需要排除'\n''\r'的影响


by lnxjun1 @ 2022-10-08 09:37:00

@jnyz2021109122116 这么说,这种方法在c语言里是实现不了的吗


by jnyz2021109122116 @ 2022-10-08 09:46:16

@lnxjun1 对啊,况且你这篇就是照着c++写的

还有c里的库文件是<string.h>

c++才是<string>


|