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;
}

浙公网安备 33010602011771号