打印图案的简单问题,请各位帮忙!

lxas 2001-04-02 02:06:00
打印下面图案:
*
***
*****
*******
*********
*******
*****
***
*
我写了下面一段代码:#include<stdio.h>
main ()
{
int a=1, b=4, c, counter=4;
for (c=5;c>=1;c--)
{
for(b=counter; b>=0; b--)
printf(" ");
b=counter;
for (a=1;a<=9-2*b;a++)
{
printf("*");
}
printf("\n");
counter--;
}
counter=1;
for (c=1; c<=4;c++)
{

for(b=0;b<=counter;b++)
{
printf(" ");
}
for(a=10;a>=2*b;a--)
{
printf("*");
}
printf("\n");
counter++;
}

return 0;
}
编译通过了,而且也得到了正确结果,但是老是觉得不对尽。但是又不知道为什么。
可能是觉得太过繁琐把!唉,数据结构没学好就是不行!各位帮我看一下还有没有他
解。
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
holyfire 2001-04-03
  • 打赏
  • 举报
回复
呵呵,这样啊。
#include <stdio.h>
void main()
{
char * str = " *\n ***\n *****\n *******\n *********\n *******\n *****\n ***\n *";
printf( str );
}
你看如何?
holyfire 2001-04-02
  • 打赏
  • 举报
回复
这样就可以了,这到题没什么数据结构的问题,要优化它方法很多,比如相同的线一起画
注意,中间的一条线我画了两次,所以这个方法还可以改进。
#include <conio.h>

#define LEFT 10
#define TOP 10

char * line = "*********";

void main()
{
int i ;
clrscr();
gotoxy( 0 , 0 );
for( i = 0 ; i <= 4 ; i ++ )
{
gotoxy( LEFT + 5 - i , TOP + i );
cputs( line + 8 - i*2 );
gotoxy( LEFT + 5 - i , TOP + 8 - i );
cputs( line + 8 - i*2 );
}
}
lxas 2001-04-02
  • 打赏
  • 举报
回复
同意楼上的意见,对不起大家我忘了程序要求用最少的printf语句的条件!如果照长生猪的说法,还不如进了DOS界面直接打上几个***便完事!
holyfire 2001-04-02
  • 打赏
  • 举报
回复
话是这么说,练习一下编程的思路也好,如果菱形的面积扩大4倍,也这么做吗。
我不懂电脑 2001-04-02
  • 打赏
  • 举报
回复
同意:xhjxhjjj(长生猪)这种问题优化了又有什么用?
xhjxhjjj 2001-04-02
  • 打赏
  • 举报
回复
如果用最笨的方法呢 :

vod Drawing(void_
{

printf(" *");
printf(" ***");
printf(" *****");
printf(" *******");
printf(" *********");
printf(" *******");
printf(" *****");
printf(" ***");
printf(" *");
}
void main()
{ void Drawing(void);
Drawing();
getch();
}
图形本不大,如果花时间在算法上是不划算的。
xhjxhjjj 2001-04-02
  • 打赏
  • 举报
回复
如果用最笨的方法呢 :

vod Drawing(void_
{

printf(" *");
printf(" ***");
printf(" *****");
printf(" *******");
printf(" *********");
printf(" *******");
printf(" *****");
printf(" ***");
printf(" *");
}
void main()
{ void Drawing(void);
Drawing();
getch();
}
图形本不大,如果花时间在算法上是不划算的。
lxas 2001-04-02
  • 打赏
  • 举报
回复

*
***
*****
*******
*********
*******
*****
***
*
lxas 2001-04-02
  • 打赏
  • 举报
回复
图案是一个菱形!上面的不对!
*
***
*****
*******
*********
*******
*****
***
*

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧