PAT甲级 1031 Hello World for U 模拟
程序员文章站
2022-06-11 15:02:03
...
代码如下:
#include<iostream>
#include<string.h>
#include<stdio.h>
#define MAX 100
using namespace std;
char ch[MAX][MAX];
char s[MAX];
int main(){
for(int i=0;i<MAX;i++){
for(int j=0;j<MAX;j++){
ch[i][j]=' ';
}
}
scanf("%s",s);
int len=strlen(s);
int k;//k=n1和n3
int max_k=-1;
int n2,max_n2;
bool flag=false;
for(n2=len;n2>=3;n2--){
for(k=n2;k>=0;k--){
if(2*k+n2-2==len){
if(k>max_k){
max_k=k;
max_n2=n2;
}
}
}
}
k=max_k;
n2=max_n2;
int cnt=0;
for(int i=0;i<k;i++){
ch[i][0]=s[cnt++];
}
for(int j=1;j<=n2-2;j++){
ch[k-1][j]=s[cnt++];
}
for(int i=k-1;i>=0;i--){
ch[i][n2-1]=s[cnt++];
}
for(int i=0;i<k;i++){
for(int j=0;j<n2;j++){
cout<<ch[i][j];
}
if(i!=k-1){
cout<<endl;
}
}
return 0;
}
上一篇: 1004 Counting Leaves