C语言的打空心正方形问题..

编写一个C程序,输入正方形的边长,输出一个用星号表示的空心正方形.程序允许输入的边长在1到20之间.例如,如果程序读取正方形的边长为4,则打印结果为***********... 编写一个C程序,输入正方形的边长,输出一个用星号表示的空心正方形.程序允许输入的边长在1到20之间.例如,如果程序读取正方形的边长为4,则打印结果为
* * * *
* *
* *
* * * *
不是空心的话我编到了,空心的正方形程序我想不出来.
请指教一下方法.
1第一个答案太烦琐了,而且运行后结果输出也不正确.

2空心是空格啊.问题是怎么才能打出来.比实心的难多了.
展开
 我来答
叶子不改
推荐于2018-05-18 · TA获得超过174个赞
知道答主
回答量:78
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
main()
{
int a,i,j;
printf("输入正方形的边长1-20:");
scanf("%d",&a);
for( i=0;i<a;i++)
printf("*");
printf("\n");
for(i=0;i<a-2;i++)
{
printf("*");
for(j=0;j<a-2;j++)
printf(" ");
printf("*");
printf("\n");
}
for(i=0;i<a;i++) printf("*");
printf("\n");
}
赏棠求初之
2020-03-29 · TA获得超过3972个赞
知道大有可为答主
回答量:3110
采纳率:33%
帮助的人:425万
展开全部
#include<stdio.h>
main()
{
int
a,i,j;
printf("输入正方形的边长1-20:");
scanf("%d",&a);
for(
i=0;i<a;i++)
printf("*");
printf("\n");
for(i=0;i<a-2;i++)
{
printf("*");
for(j=0;j<a-2;j++)
printf("
");
printf("*");
printf("\n");
}
for(i=0;i<a;i++)
printf("*");
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dujxyoupan
2007-05-13 · TA获得超过160个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:199万
展开全部
空心正方形:
#include <stdio.h>
outh(int len)
{
int m;
for(m=1;m<=len;m++)
printf("* ");
printf("\n");
}
outs(int len)
{
int i,j;
for(i=1;i<=len-2;i++)
{
printf("*");
for(j=0;j<=len-2;j++)
printf(" ");
printf("*");
printf("\n");
}
if(!(i-1))
printf("\n");

}

main()
{
int b,i;
printf("please input bian chang(2~24):");
scanf("%d",&b);
if(b>1&&b<25)
{
outh(b);
outs(b);
outh(b);
}
else printf("can not show\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcofjp
2007-05-13 · TA获得超过560个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:260万
展开全部
dujxyoupan 做的有点复杂吧,肯定还有更简单的方法。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengkuny
2007-05-13 · TA获得超过2158个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:449万
展开全部
空心不就是空格吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式