C语言编程练习35:叠筐
题目描述
把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐花色交错。这个工作现在要让计算机来完成,得看你的了。
输入
输入是一个个的三元组,分别是,外筐尺寸n(n为满足0<n<80的奇整数),中心花色字符,外筐花色字符,后二者都为ASCII可见字符;
输出
输出叠在一起的筐图案,中心花色与外筐花色字符从内层起交错相叠,多筐相叠时,最外筐的角总是被打磨掉。叠筐与叠筐之间应有一行间隔。
样例输入 Copy
5 ^ !
7 ( )
0
样例输出 Copy
^^^ ^!!!^ ^!^!^ ^!!!^ ^^^ ))))) )((((() )()))() )()()() )()))() )((((() )))))
机构平台标程
#include <stdio.h> int n; int run() { char a,b; int i,j,k,l,t,m; scanf(" %c %c",&a,&b); m=n/2+1; for(i=1;i<=n;i++) { k=m-i; if(k<0) k=-k; for(j=1;j<=n;j++) { l=m-j; if(l<0) l=-l; if((k==m-1)&&(l==m-1)&&(n>1)) printf(" "); else { t=l; if(t<k) t=k; if(t%2==0) printf("%c",a); else printf("%c",b); } } printf("\n"); } printf("\n"); } int main() { scanf("%d",&n); while(n!=0) { run(); n=0; scanf("%d",&n); } return 0; }