#include<cstdio>
#include<cstring>
#include<math.h>
int main()
{
char n[130];
char m[11][11];
int a,b,c,d,e,i;
while(scanf("%s",n)!=EOF)
{
a=strlen(n);
b=sqrt(a);
memset(m,0,sizeof(m));
m[0][0]=n[0];
c=0;d=1;e=1;
int aa,bb,cc,dd;
if(a==1)
{
printf("%c\n",n[0]);
printf("\n");
}
else if(a==4)
{
printf("%c%c\n",n[0],n[1]);
printf("%c%c\n",n[2],n[3]);
printf("\n");
}
else
{
while((aa!=b||bb!=b-1)&&(cc!=b-2||dd!=b))
{
for(aa=c,bb=d;aa<b&&bb>=0;aa++,bb--)
{
m[aa][bb]=n[e++];
}
if(aa<b&&bb==-1)
{
c=aa;d=0;
}
else if(aa==b&&bb==-1)
{
c=b-1;d=1;
}
else if(aa==b)
{
c=aa-1;d=bb+2;
}
for(cc=c,dd=d;cc>=0&&dd<b;cc--,dd++)
{
m[cc][dd]=n[e++];
}
if(cc==-1&&dd<b)
{
c=0;d=dd;
}
else if(cc==-1&&dd==b)
{
c=1;d=b-1;
}
else if(cc+1>0&&dd==b)
{
c=cc+2;d=b-1;
}
//printf("%d %d %d %d\n",aa,bb,cc,dd);
printf("%d,,\n",e);
}
for(int j=0;j<b;j++)
{
for(int u=0;u<b;u++)
{
printf("%c",m[j][u]);
}
printf("\n");
}
printf("\n");
}
memset(n,0,sizeof(n));
}
return 0;
}
Z字型
原文作者:Z字形编排问题
原文地址: https://blog.csdn.net/chenjunolo/article/details/53914110
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/chenjunolo/article/details/53914110
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。