社区讨论

求助。。。为什么全是too many line or too few line

P1538迎春舞会之数字舞蹈参与者 3已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mi6ha500
此快照首次捕获于
2025/11/20 04:51
4 个月前
此快照最后确认于
2025/11/20 04:51
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstdio>
using namespace std;
char sz[100000],xs[10000][10000],lj;
int main()
{
    int k,i=0,jsq=0;
    cin>>k;
    lj=getchar();
    while((sz[i]=getchar())!='\n')
        i++;
    for(int j=0;jsq<i;j+=k+3)
    {
        switch(sz[jsq])
        {
            case '0':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j]='|';
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '1':
            {
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '2':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=k+1;s++)
                {
                    xs[s][j+k+1]='|';
                    xs[s+k+1][j]='|';
                }
                break;
            }
            case '3':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '4':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[k+1][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s-k-1][j]='|';
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '5':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=k+1;s++)
                {
                    xs[s][j]='|';
                    xs[s+k+1][j+k+1]='|';
                }
                break;
            }
            case '6':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j]='|';
                    xs[s+k+1][j+k+1]='|';
                }
                break;
            }
            case '7':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '8':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s][j]='|';
                    xs[s][j+k+1]='|';
                }
                break;
            }
            case '9':
            {
                for(int s=0;s<=k;s++)
                {
                    xs[0][j+s]='-';
                    xs[k+1][j+s]='-';
                    xs[2*k+2][j+s]='-';
                }
                for(int s=0;s<=2*k+2;s++)
                {
                    xs[s-k-1][j]='|';
                    xs[s][j+k+1]='|';
                }
                break;
            }
        }
        xs[0][j]=xs[k+1][j]=xs[2*k+2][j]=xs[0][j+k+1]=xs[k+1][j+k+1]=xs[2*k+2][j+k+1]=' ';
        for(int s=0;s<=2*k+2;s++)
            xs[s][k+2]=' ';
        jsq++;
    }
    for(int j=0;j<=2*k+2;j++)
    {
        for(int s=0;s<=(3+k)*(i);s++)
        {
            if(xs[j][s]!='\0')
            cout<<xs[j][s];
            else
            cout<<" ";
        }
        cout<<endl;
    }
    return 0;
}
电脑上测试是全对的

回复

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

正在加载回复...