返回目录
题意
设行数为n1,列数为n2,字符串长度为len,则输出的U字需要满足
- n1<=n2
- n1*2+n2-2=len
- n1尽可能大
注意点
- 使用的是硬核输出法,直接一行一行输出,代码量更少
#include <bits/stdc++.h>
using namespace std;
int main(){
char str[100];
scanf("%s",str);
int len=strlen(str);
int h,w;//w为除去最后一行的行数,h为列数
w=(len+2)/3-1;
h=len-w*2;
for(int i=0;i<w;i++){
printf("%c",str[i]);
for(int j=0;j<h-2;j++)printf(" ");
printf("%c\n",str[len-i-1]);
}
for(int i=w;i<w+h;i++)printf("%c",str[i]);
return 0;
}