在上一篇博客牛客网BC68 X型图案讲过,图案类型题目找规律就用画图加行列构成一个表格即可,剩下就不多赘述了。
如图(以n=4为例)
通过图很明显能发现:
正方形第一行(即i==0)和最后一行(即i==n-1)肯定是全部有*的;
正方形中间的行都是第一列(即j==0)和最后一列(即j==n-1)有*的,其他列都是空格;
发现规律后就可以写代码了
答案:
#include <stdio.h>
int main()
{
int n=0,i=0,j=0;
while (scanf("%d", &n) != EOF) //多组输入
{
if(n>=3&&n<=20) //使输入符合题目范围
{
for(i=0;i<n;i++) //打印n行
{
if(i==0||i==n-1) //如果是第一行或者最后一行
{
for(j=0;j<n;j++) //打印n列
{
printf("* "); //打印*加空格
}
}
else //如果不是第一行和最后一行
{
for(j=0;j<n;j++) //打印n列
{
if(j==0||j==n-1) //如果是第一列或者最后一列
{
printf("* "); //打印*加空格
}
else //如果不是第一列或者最后一列
{
printf(" "); //打印两个空格
}
}
}
printf("\n"); //打印完一行后换行
}
}
}
return 0;
}