LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 668|回复: 8

[经典问题讨论]编写程序,用*号画出HELLO

[复制链接]
发表于 2007-1-4 22:29:32 | 显示全部楼层 |阅读模式
编写一个程序,用*号画画,要画出单个字符不难,比如画出但个H,
但是,要画出H后面的字符,有什么好办法?

**************        *
*                                                            *
*                                                            *
*                                                            *
**************        *
*                                                            *
*                                                            *
*                                                            *
**************        *************

要精确计算每一行的*号,很难啊?
要输出“空格”也很麻烦阿,可否不输出空格?

还有,一些高级字符输出,下次再传上来,今晚时间不够了。。。。
 楼主| 发表于 2007-1-5 09:46:23 | 显示全部楼层
#include <stdio.h>

int main()
{
printf(
"*       *  ********  *         *             **        \n"
"*       *  *         *         *          *      *        \n"
"*       *  *         *         *         *        *        \n"
"*********  ********  *         *        *          *         \n"
"*       *  *         *         *         *        *        \n"
"*       *  *         *         *          *      *        \n"
"*       *  ********  ********  ********      **        \n"
);

return(0);
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-5 09:49:31 | 显示全部楼层
晕,上面的输出竟然成那样子!不是用上面那种printf()直接画出来的方法,
其实就是想问问,比如我想在某某位置(x,y)输出一个*,可以跳过很多“空格”

但是在控制台下,很难也不知道有没有办法做到。
回复 支持 反对

使用道具 举报

发表于 2007-1-5 09:56:44 | 显示全部楼层
Post by hoho_zhao
晕,上面的输出竟然成那样子!不是用上面那种printf()直接画出来的方法,
其实就是想问问,比如我想在某某位置(x,y)输出一个*,可以跳过很多“空格”

但是在控制台下,很难也不知道有没有办法做到。
用printf()的光标控制看看.
例如在(20,20)处开始输出***************:
printf("\033[%d;%dH********************\n",20,20);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-5 10:01:25 | 显示全部楼层
我不知道printf()有光标控制,楼上的可否说说,先让我大概了解一下,以后在细学,谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-1-5 10:21:46 | 显示全部楼层
用 ESC键[x;yH 来定位光标,
ESC的ASCII码是033,转义输出加\
H表示光标定位,x,y就是坐标位置.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-5 10:35:10 | 显示全部楼层
还不明白啊,我想要在程序里定位,不知道怎么写啊。

有劳楼上写出一点点代码,比如在 (10,20)位置输出 a字符
回复 支持 反对

使用道具 举报

发表于 2007-1-6 11:19:24 | 显示全部楼层
使用ncurses库吧...可以单独定位 每个字符的输出位置的..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-6 12:48:11 | 显示全部楼层
OK,先谢谢“什么名”!果然能定位输出!

关于ncurses库,好像在以前看过的一本说上有,好像是
《Unix/Linux编程实践》
现在书不在身边,呵呵............

若easycat有空,可以在此挥个例子出来也好啊,大家参考参考
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表