马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<Windows.h>
void get_space(int n)
{
int i ;
for(i = 0; i < n; i++)
printf(" ");
}
void get(int n,int mid)
{
int i;
get_space(mid);
for(i = 0; i < n;i++)
{
printf("%c",'*');
get_space(1);
}
putchar('\n');
}
void up_and_down(int n,int i,int mid,int t)
{
get(i,mid -1);
if(i < n)
up_and_down(n - 1,i + 1,mid - 1,t);
if(i != t)
get(i,mid - 1);
}
int main(void)
{
int i , layer, mid;
printf("请输入菱形层数:(奇数)");
scanf("%d",&layer);
mid = layer /2 + 1;
up_and_down(layer,1,mid,mid);
system("pause");
return 0;
}
利用递归画出菱形,不过总感觉不太完美。 |