当前位置: 代码迷 >> C语言 >> [求助]关于显示一个菱形的问题
  详细解决方案

[求助]关于显示一个菱形的问题

热度:252   发布时间:2006-10-10 08:46:54.0
[求助]关于显示一个菱形的问题
*
*****
*
比如说要显示上面这个简单的菱形,弄的有点粗糙 大家能看懂就行了
在显示的过程中 如果叫他从中间向四周展开那样的显示啊
需要加进什么?

[此贴子已经被作者于2006-10-10 8:47:13编辑过]

搜索更多相关的解决方案: 菱形  

----------------解决方案--------------------------------------------------------
问题不清楚,请重新描述.
----------------解决方案--------------------------------------------------------
先显示最中间的点,然后向四周扩散?
----------------解决方案--------------------------------------------------------

动态效果?


----------------解决方案--------------------------------------------------------

#include "stdio.h"
#include "math.h"

void main()
{

int i,j,n;
printf("input a number:");
scanf("%d",&n);
for (i=-n;i<=n;i++)
{
for(j=-n;j<=n;j++)
{
if(abs(i)+abs(j)>=n+1)
printf(" ");
else
printf("*");
}
printf("\n");
}
}是不是这样改变啊?也是从中间慢慢变大了~~不过要输入数字,你说的效果不知道什么样子的!

[此贴子已经被作者于2006-10-10 10:56:35编辑过]


----------------解决方案--------------------------------------------------------

把honkerman的代码修改了一下,实现了真正的"动态显示"


#include "stdio.h"
#include "conio.h"
#include "math.h"

void main()
{

int i,j,time,n;
printf("input a number:");
scanf("%d",&n);
for(time=0;time<=n;time++)
{
clrscr();
for (i=-n-1;i<=n-1;i++)
{
for(j=-n-1;j<=n-1;j++)
{
if(abs(i)+abs(j)>=time)
printf(" ");
else
printf("*");
}
printf("\n");
}
sleep(1);
}
getch();
}


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
用C++编译的要改一下
#include "stdio.h"
#include"stdlib.h"
#include "math.h"
void main()
{
int i,j,time,n;
printf("input a number:");
scanf("%d",&n);
for(int repeat = 0;repeat<=n;repeat++) //加个这个好玩一点~~
for(time=0;time<=n;time++)
{
{system("cls");};
for (i=-n-1;i<=n-1;i++)
{
for(j=-n-1;j<=n-1;j++)
{
if(abs(i)+abs(j)>=time)
printf(" ");
else
printf("*");
}
printf("\n");
}
}
}

[此贴子已经被作者于2006-10-10 13:59:26编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案