有趣的图形编程,挑战你的思维?

shmily666666 2005-10-18 12:31:20
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
打印上面的图形,用两种方法:

1:先打上半部分: 再打下半部分:
* * * * * *
* * * * * *
* * * * * *
* * * * * * *

2:先打左半部分: 再打右半部分:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
...全文
890 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitweng 2005-10-19
  • 打赏
  • 举报
回复
文本模式下应该可以用gotoxy(x,y)吧?至少我以前用pascal7时用gotoxy()编过一个简单的练习打字的程序,在普通文本模式下是可行的
yjy1001 2005-10-19
  • 打赏
  • 举报
回复
1:先打上半部分: 再打下半部分:
* * * * * *
* * * * * *
* * * * * *
* * * * * * *

2:
利用字符数组,先填充后打印,想从哪个方向先开始填充都行
sselpk 2005-10-19
  • 打赏
  • 举报
回复
定义一个二维数组,然后再在这个二维数组打印,最后输出这个二维数组
shmily666666 2005-10-18
  • 打赏
  • 举报
回复
* 问题:用2种方法!
* * * 1:先打左半部分,后打右半部分
* * * * * 2:先打上半部分,后打下半部分
* * * * * * *
* * * * *
* * *
*
hyq1986 2005-10-18
  • 打赏
  • 举报
回复
C是星星,C++是星星,VB是星星,JAVA还是星星
- -
prince110 2005-10-18
  • 打赏
  • 举报
回复
不能先打左边,在打右边吧,那样不是太太太太的麻烦么???
benqmm 2005-10-18
  • 打赏
  • 举报
回复
从上到下好做!
其实有简单的方法就是写n个printf()搞定,哈哈~~~~
conglingkaishi 2005-10-18
  • 打赏
  • 举报
回复
先左后右?你在TC里做个看看,当然了,我说的是文本模式下。
kevinmartin 2005-10-18
  • 打赏
  • 举报
回复
一般来说本题只能用用从上到下的方法打印。
因为这个程序很明显是在文本模式下运行的,在文本模式下系统的光标是只可能顺序下移,即当你打印一个换行符,使光标移到到下一行的话,你是没有办法在把光标移回上一行的,因此在文本模式下一般不能用从坐到右的方法来实现这个图形!


Actually, it is ok to print left first, then right.
We can locate the position of cursor.
zlcolin 2005-10-18
  • 打赏
  • 举报
回复
星号之间有空格键吗?
zlcolin 2005-10-18
  • 打赏
  • 举报
回复
这个有意思,我一定要来一个.
fz05008 2005-10-18
  • 打赏
  • 举报
回复
一般来说本题只能用用从上到下的方法打印。
因为这个程序很明显是在文本模式下运行的,在文本模式下系统的光标是只可能顺序下移,即当你打印一个换行符,使光标移到到下一行的话,你是没有办法在把光标移回上一行的,因此在文本模式下一般不能用从坐到右的方法来实现这个图形!

另外不考虑空间效率的话,定义一个数组,存储0、1值,遇1打印*,遇0打印空格也可以,如果你学过C系语言的位操作的话,也可以用一位来表示*与空格,节省空间。
当然这种方法相对于楼上WYong(WZZ)兄的做法说也不是很好的,因此,WYong(WZZ)兄的做法应该就是最好的解了。
WZZ 2005-10-18
  • 打赏
  • 举报
回复
#define M 5

int main()
{

int i = 0, j = 0;

for (i = 1; i <= M; i++)
{
for(j = 1; j <= M-i; j++) printf(" ");
for(j = 1; j <= i*2-1; j++) printf("%c", '*');
printf("\n");
}

for (i = M-1; i >= 1; i--)
{
for(j = M-i; j >= 1; j--) printf(" ");
for(j = i*2-1; j >= 1; j--) printf("%c", '*');
printf("\n");
}

return 0;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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