C语言高手进啊 急啊

来源:百度知道 编辑:UC知道 时间:2024/05/30 11:58:23
那位高手帮帮做这道题啊小弟在这万分感谢!
输入n值,打印边长为n的空心正六边形,其边由“*”组成。
例如当=4时,如下图所示:
* * * *
* *
* *
* *
* *
* *
* * * *
数据类型的组织(或数据结构)?

算法思想?

源程序?

拜托各位大哥大姐!
图输入不上去
反正是这几个*组成的一个正六边行
拜托大家勒

#include <stdio.h>

//打印char c n次
print(int n,char c)
{
int i ;
for(i=0;i<n;i++)
{
printf("%c",c);
}
}

main()
{
int n ;
printf("请输入六边形的边长n:");
scanf("%d",&n);
int i;
int j=n;
for(i=n-1;i>=0;i--)
{
print(i,' ');
if(i==n-1)
{
print(n,'*');
printf("\n");
}
else
{
printf("*");
print(j,' ');
j=j+2;
printf("*\n");
}
}
j=j-4;
for(i=1;i<n;i++)
{
print(i,' ');
if(i==n-1)
{
print(n,'*');
printf("\n");