请按照输入的奇偶性来输出不同的图形,在输入为奇数时,输出‘凸’字形,在输入为偶数时,输出‘凹’字形。
具体形状与设计,如下:
例如在n=10输出如图所示的“凹”字型,标明的数字为所在区域的行数限制。
输入描述
一行,整数n。
输出描述
上述的规律性字符串。
样例输入
15
样例输出
数据范围
4<=n<=999
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 2 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 3 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 5 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M |
代码实现:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i,j;
int p=n/3,q=n/2-1;
if(n%2==1)
{for(i=1;i<=(2+n/3+n/2);i++)
{
if(i==1)
{
for(j=1;j<=n/2*3;j++)
{
if(j>=n/2&&j<=n)
{
printf("*");
}
else
{
printf(" ");
}
}
}
else if(i>1&&i<=(1+n/3))
{
for(j=1;j<=3*n/2;j++)
{
if(j==n/2||j==n)
{
printf("*");
}
else
{
printf(" ");
}
}
}
else if(i==(2+n/3))
{
for(j=1;j<=n/2*3;j++)
{
if(j>n/2&&j<n)
{
printf(" ");
}
else
{
printf("*");
}
}
}
else if(i>(2+n/3)&&i<=(1+n/3+n/2))
{
for(j=1;j<=n/2*3;j++)
{
if(j==1||j==n/2*3)
{
printf("*");
}
else
{
printf(" ");
}
}
}
else
{
for(j=1;j<=n/2*3;j++)
{
printf("*");
}
}
printf("\n");
}
}
else
{for(i=1;i<=(2+n/2+n/3);i++)
{
if(i==1)
{
for(j=1;j<3*n/2;j++)
{
if((j>=1&&j<=n/2)||(j>=n&&j<3*n/2))
{
printf("*");
}
else
{
printf(" ");
}
}
}
else if(i>1&&i<=1+n/3)
{
for(j=1;j<3*n/2;j++)
{
if(j==1||j==n/2||j==n||j==3*n/2-1)
{
printf("*");
}
else
{
printf(" ");
}
}
}
else if(i==(2+n/3))
{
for(j=1;j<3*n/2;j++)
{
if(j==1||j==3*n/2-1||(j>=n/2&&j<=n))
{
printf("*");
}
else
{
printf(" ");
}
}
}
else if(i>2+n/3&&i<(2+n/2+n/3))
{
for(j=1;j<3*n/2;j++)
{
if(j==1||j==3*n/2-1)
{
printf("*");
}
else
{
printf(" ");
}
}
}
else
{
for(j=1;j<3*n/2;j++)
{
printf("*");
}
}
printf("\n");
}
}
return 0;
}