7-1 Z字形输出字符串 (25分)
本题要求你按照"Z"字形输出一个字符串。
例如,对于字符串 ABCDEFGHIJ ,若输出宽度为 4,则第一行输出ABCD,第二行输出HGFE,第三行输出IJ;
若宽度为 3,则第一行输出ABC,第二行输出FDE,第三行输出GHI,第四行输出J (J前带有两个空格)。
输入格式:
第一行输入一个不超过 100 的正整数 N,表示输出宽度。
在一行中输入一个字符串,长度不超过 105。
输出格式:
按照"Z"字形输出字符串。行尾不得有多余空格。
输入样例:
10
ZUCC is the abbreviation of Zhejiang University City College.
输出样例:
ZUCC is th
aiverbba e
tion of Zh
inU gnaije
versity Ci
egelloC yt
.
AC代码:
#include<stdio.h>
int i=0,n;
char a[100001];
void shun()
{
int j;
for(j=i;j<i+n;j++)
{
printf("%c",a[j]);
if(!a[j])
return;
}
printf("\n");
i=j;
}
void ni()
{
int j;
for(j=i+n-1;j>=i;j--)
{
if(!a[j])
printf(" ");//补空格
else
printf("%c",a[j]);
}
printf("\n");
i=i+n;
}
int main()
{
scanf("%d\n",&n);
gets(a);
while(1)
{
shun();
if(!a[i])
break;
ni();
if(!a[i])
break;
}
}