P4327过不了样例,到底哪错了,大家帮忙看看谢谢
查看原帖
P4327过不了样例,到底哪错了,大家帮忙看看谢谢
934868
hanjinshou楼主2023/9/5 14:51
#include <bits/stdc++.h>
using namespace std;
string yw;//输入的字母
char kj[100][100];//要输出的框架
int n;//存储字母个数
int main(){
    cin>>yw;
    n=yw.size();
    memset(kj,'.',sizeof(kj));
    kj[3][1]='#';
    for(int i=0;i<=n;i++){
        int a=i*5+2;
        if(i==0)a++;
        kj[a][a]=yw[i];
       if((i+1)%3==0){
           kj[a-2][a]
          =kj[a-1][a-1]=kj[a-1][a+1]
          =kj[a][a+2]=kj[a][a-2]
          =kj[a+1][a-1]=kj[a+1][a+1]
          =kj[a+2][a]
          ='*';
       }else{
           if(kj[a-2][a]!='*')kj[a-2][a]='#';
           if(kj[a-1][a-1]!='*')kj[a-1][a-1]='#';
           if(kj[a-1][a+1]!='*')kj[a-1][a+1]='#';
           if(kj[a][a+2]!='*')kj[a][a+2]='#';
           if(kj[a+1][a-1]!='*')kj[a+1][a-1]='#';
           if(kj[a+1][a+1]!='*')kj[a+1][a+1]='#';
           if(kj[a+2][a]!='*')kj[a+2][a]='#';
       }
    }
    int cd=n*4+1;//存储输出部分长度
    for(int i=1;i<=5;i++){
        for(int j=1;j<=cd;j++){
            cout<<kj[i][j];
        }
        cout<<endl;
    }
   
    return 0;
}
2023/9/5 14:51
加载中...