题目:
解题思路:
假如输入为5,先打印出5*5的*图型,然后内置判断哪些要打印*,哪些打印为空格。
打印5*5的*图代码
#include<stdio.h>
int main()
{
int a;
scanf("%d", &a);
int i = 0;
for (i = 1; i <= a; i++)
{
int j = 0;
for (j = 1; j <= a; j++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
然后判断什么要打印,什么不要打印:这里是第一行和最后一行和第一列和最后一列要打印* ,其余打印空格。
代码实现:(代码行里有备注)
#include<stdio.h>
int a;
int main()
{
while(scanf("%d",&a)!=EOF)//牛客网要多组输入,实现格式就是while( =EOF)
{
int i,j;//行,列
for(i=1;i<=a;i++)
{
for(j=1;j<=a;j++)
{
if(i==1||j==1||i==a||j==a)//第一行,第一列,最后一行,最后一列
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}