叠框

来源:互联网 发布:淘宝给了好评能删除吗 编辑:程序博客网 时间:2024/06/05 18:22

     

需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
Input
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
Output
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
Sample Input
11 B A5 @ W
Sample Output
 AAAAAAAAA ABBBBBBBBBAABAAAAAAABAABABBBBBABAABABAAABABAABABABABABAABABAAABABAABABBBBBABAABAAAAAAABAABBBBBBBBBA AAAAAAAAA  @@@ @WWW@@W@W@@WWW@ @@@ 
#include<stdio.h>#include<string.h>int main(){int n,T=0;char x,y,l,q;char a[100][100];while(~scanf("%d %c %c",&n,&x,&y)){if(T)printf("\n");T++;int i,j;if(n==1){printf("%c\n",x);continue;}if((n/2+1)%2){q=x;x=y;y=q;}for(i=0;i<=n/2;i++){if(i%2==0)l=y;elsel=x;for(j=i;j<n-i;j++){a[i][j]=l;}strncpy(a[i+1],a[i],n);}a[0][n-1]=' ';a[0][0]=' ';a[n-1][0]=' ';a[n-1][n-1]=' ';for(i=0;i<=n/2;i++){for(j=0;j<n;j++)printf("%c",a[i][j]);printf("\n");}for(i=n/2-1;i>=0;i--){for(j=0;j<n;j++)printf("%c",a[i][j]);printf("\n");}}return 0;}

0 0