PAT 1031

题目 : Hello World for U

分值 : 20
难度 : 水题
思路 : 想清楚边界问题就好
坑点 : 字符串较小,4个字符时如何打印,5个字符又如何打印
评语 : 边界问题动动脑子就OK

具体代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stdio.h"
#include "string.h"
int main() {
char S[80] ;
scanf("%s" , S) ;
int n1 , n2 ,n3 ;
n1 =n3 = strlen(S)/3 ;
n2 = strlen(S) -n1 - n3 ;
if(n2 <3 || n1==n2 )
{
n2 += 2 ;
n1 -=1 ;
n3 -=1 ;
}
for(int i = 0 ; i < n1 ; i++)
{
printf("%c",S[i]);
for(int j = 0 ; j< n2-2 ; j++)
printf(" ");
printf("%c\n" , S[strlen(S) -1- i]) ;
}
for(int i = 0 ; i< n2 ;i ++)
printf("%c",S[n1+i]) ;

}