+ -
当前位置:首页 → 问答吧 → 拿到这个题目该如何去思考?

拿到这个题目该如何去思考?

时间:2010-07-02

来源:互联网

本帖最后由 runeveryday 于 2010-07-02 21:53 编辑

下载 (2.35 KB)
2010-07-02 21:52


拿到这个题目该如何去思考?并打印出红色的星号。我第一眼能够想到的就是嵌套for循环,可是里面的那个嵌套不知道怎么去写。。新手盼指点。

作者: runeveryday   发布时间: 2010-07-02

我感觉楼主的这个图给的不是很标准, 换成正规一点的 米 字形会好处理一点

作者: 三月廿七   发布时间: 2010-07-02

就是这样的啊  一个米字类型啊

作者: runeveryday   发布时间: 2010-07-02

找规律啊 不同的点就是不同的位置
比如说当i=3或者j=3的时候打*

作者: klanet   发布时间: 2010-07-02

。。。把问题正则化。

比如这个问题,一看,就是两个图的叠加,可以认为是一个方框 + 十字的叠加。

方框,可以判别,十字,判别。遍历每个点,判断是否是属于这个方框,或者是十字,是的话,就打印。

或者分解为直线,也可以。

作者: peidright   发布时间: 2010-07-02

  1. while(<DATA>) { print; }
  2. __DATA__
  3.    *
  4. * * *
  5.    *
  6. *******
  7.    *
  8. * * *
  9.    *
复制代码

作者: redspider   发布时间: 2010-07-02



QUOTE:
redspider 发表于 2010-07-02 23:41


你狠。。。

作者: donglongchao   发布时间: 2010-07-03

  1. $ cat hui.c
  2. #include <stdio.h>
  3. #define N 7
  4. int main()
  5. {
  6.         char m[N][N] = { 0 };
  7.         int xy[] = { N/4, N*3/4 };
  8.         int i, j;
  9.         for( i=0; i<4; ++i )
  10.         {
  11.                 int x = xy[i%2], y = xy[i>>1];
  12.                 m[x-1][y-1] = m[x][y-1] = m[x+1][y-1] =
  13.                 m[x-1][y] = m[x+1][y] =
  14.                 m[x-1][y+1] = m[x][y+1] = m[x+1][y+1] = 1;
  15.         }
  16.         for( i=0; i<N; ++i )
  17.         {
  18.                 for( j=0; j<N; ++j )
  19.                         printf( "%c", m[i][j]? ' ': '*' );
  20.                 putchar('\n');
  21.         }
  22.         return 0;
  23. }

  24. $ gcc -o hui hui.c
  25. $ ./hui
  26.    *
  27. * * *
  28.    *
  29. *******
  30.    *
  31. * * *
  32.    *
  33. $
复制代码

作者: 没本   发布时间: 2010-07-03

论坛代码显示还是有bug,有空格就对不齐了,在终端上显示是和楼主的图一样的。
楼主还可以试试把N改成5,9,11这些重新编译试试看输出效果,方便你理解程序。

作者: 没本   发布时间: 2010-07-03

回复 没本

估计他用的是 &nbsp; ,记得换成 &#32;  会有奇效。

作者: 群雄逐鹿中原   发布时间: 2010-07-03

回复 群雄逐鹿中原


    是啊,如果加上彩色语法高亮更好。

作者: 没本   发布时间: 2010-07-03