C语言关于编空心正方形的程序,高手帮我看看哪错了

来源:百度知道 编辑:UC知道 时间:2024/06/10 17:00:29
#include<stdio.h>
void main()
{int a,i,j;
scanf("%d",&a);
for (i=0;i<a;i++)
{
if (i=0)
{
for (j=0;j<a;j++)
{
printf("*");
}
printf("\n");
}
else if (i=a-1)
{
for (j=0;j<a;j++)
{
printf("*");
}
printf("\n");
}
else
{printf("*");
for (j=0;j<a-2;j++)
{
printf(" ");
}
printf("*");
printf("\n");
}
}
}
执行结果只有第一行是*****
但是又没看到程序有什么错误,请高手帮帮忙

int main()
{
int len;
printf("Input Len :");
scanf_s("%d",&len);
if(len>=2)
{
for(int i=0; i<len; i++)
printf("* ");
printf("\n");
for(int i=0; i<len-2; i++)
{
printf("* ");
for(int j=0; j<len-2; j++)
{
printf(" ");
}
printf("* \n");;
}
for(int i=0; i<len; i++)
printf("* ");
printf("\n");
}
else
{
if(1 == len)
{
printf("*\n");
}
}
system("pause");
return 0;
}
其实思路很简单,先判断输入的数字是不是大于2
若大于2就输出
第一行 N 个"*"和一个"\n"
然后N-2行输出 一个"*" N-2个" " 一个"*" 一个"\n"
最后一行 N 个"*"和一个"\n"

若等于1 就输出 一个 "*"

#includ