1031 Hello World for U(20分)
アイデア
要件を満たすn1とn2を取得するには、この種の質問で長さの異なる複数の文字列を入力して確認
する必要があります。文字列文字列を変更するのは難しく、文字列クラス関数を使用する必要があるため、
別の詳細があります。char文字配列を使用するには、char文字配列PATの後にデフォルト設定は「\ 0」であり、自分で封印する必要があります
コード
#include <bits/stdc++.h>
using namespace std;
int main()
{
string str;
cin >> str;
int len = str.length();
int n1 ,n2;
for (int i = 3;i<=len;i++) //获得满足要求的n1,n2
{
n2 = i;
n1 = (len + 2 -n2)/2;
if(n1<=n2)
{
n2 = len+ 2 - n1*2;
break;
}
}
char out[100] ;
for(int i=0;i<n1;i++)
{
if(i!=n1-1)
{
out[0]=str[i];
for(int j =1 ;j< n2-1 ;j++)
{
out[j] = ' ';
}
out[n2-1]=str[len-1-i];
out[n2]='\0'; //PAT后置不默认为'\0',要自己封
cout<<out<<endl;
}
else
{
for(int j =n1-1 ;j< n1+n2-1 ;j++)
{
out[j-n1+1] = str[j];
}
out[n2]='\0';
cout<<out;
}
}
}