题解 | Hello World for U
Hello World for U
https://www.nowcoder.com/practice/c6e414fddd7c401887c350c9cc41f01b
#include <stdio.h>
#include <string.h>
using namespace std;
int main() {
int n1,n2=3,n3,k=0;
int i=0,j=0,n=0;
char str;
char index[100]={0};
char arr[100][100]={0};
while((str=getchar())!='\n') {
index[j] = str;
++j;}
for (i = 0; i < 100; ++i) {
if (index[i] != 0) {
++n;
}
}
k = n1 = n3 = (n + 2) / 3;
n2 = (n +2)- (n1+n3);
for (int m = 0; m < k; ++m) {
arr[m][0] = index[m];
}
int l = k - 1;
for (int m = 0; m < n2; ++m) {
arr[k - 1][m] = index[l];
++l;
}
int num = n2 + k - 2;
for (int m = k - 1; m >= 0; --m) {
arr[m][n2 - 1] = index[num];
++num;
}
for(int i=1;i<n2-1;++i){
for(int j=0;j<k-1;++j){
arr[j][i]=' ';
}
}
for (int i = 0; i < k; i++) {
printf("%s\n", arr[i]);}
return 0;
}
查看3道真题和解析
