题意描述
输出一个n行(n为奇数)的菱形且该菱形由输入的字符ch构成,如输入的n=7,ch=*,输出以下图案:
*
-
-
-
*
-
-
如输入的n=5,ch=?,输出以下图案:
?
? ?
? ?
? ?
?
输入
输入若干组数据.每组数据由一个奇数n(n<=41)和一个字符ch组成,当n为0时,输入结束。
输出
输出一个n行的空心菱形。
程序代码:
#include<stdio.h>
int main()
{
int i,j,k,n,t;
char ch;
while(scanf("%d %c",&n,&ch),n!=0)
{
for(i=1;i<=n/2+1;i++)
{
t=0;
for(j=i;j<=n/2;j++)
printf(" ");
printf("%c",ch);
for(j=2;j<=2*i-2;j++)
{
t=1;
printf(" ");
}
if(t==1) //在输出的过程中只有打印了空格才对应输出下一个字符
printf("%c",ch);
printf("\n");
}
for(i=1;i<=n/2;i++)
{
t=0;
for(j=1;j<=i;j++)
printf(" ");
printf("%c",ch);
for(j=2;j<=n-2*i-1;j++)
{
t=1;
printf(" ");
}
if(t==1)//原理同上
printf("%c",ch);
printf("\n");
}
}
return 0;
}