如何实现把多个汉字放在一起来表现出一个汉字的外形

JiangXiang 2011-03-10 01:56:14
比如说,
我输入一个“人”子,
程序打印出:




人 人
人 人
人 人
人 人
人 人

要求对任意的汉字输入都能够打印出相应的结果,
打印出的汉字的大小没有限定,

请问各位都有什么想法??
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JiangXiang 2011-03-12
  • 打赏
  • 举报
回复
十分感谢各位的帮助,结贴给分!
dianyancao 2011-03-10
  • 打赏
  • 举报
回复
楼上答对了~~我把奋斗都倒给你~~~~
赵4老师 2011-03-10
  • 打赏
  • 举报
回复
HZK16文件在UCDOS里和Win-TC里都有。
赵4老师 2011-03-10
  • 打赏
  • 举报
回复
估计是哪个C语言老师的作业,学生们都来这里问了。(^_^)
#include <stdio.h>
#include <conio.h>
const unsigned char bit[8]={128,64,32,16,8,4,2,1};
unsigned char buffer[32];
FILE *hzk;
unsigned long offset;
unsigned int q,w;
int x,y,qw;
//--------------------------------------------------------
void display(char *hz) {

qw=*((int *)hz);
q=(qw&0x00FF)-0xA1;
w=((qw>>8)&0x00FF)-0xA1;
offset=q*0x5E+w;
offset*=32;
if ((hzk=fopen("HZK16","rb"))==NULL) {
printf("Can not open file HZK16!\n");
return;
}
fseek(hzk,offset,SEEK_SET);
fread(buffer,1,32,hzk);
fclose(hzk);
for (y=0;y<16;y++) {
for (x=0;x<16;x++) {
if (buffer[y*2+x/8] & bit[x%8]) {
printf("%s",hz);
} else {
printf(" ");
}
}
printf("\n");
}
}
void main() {
display("啊");
getch();
}
// 啊
// 啊 啊啊啊啊 啊啊啊啊啊啊
//啊啊啊啊啊 啊 啊
//啊 啊 啊 啊 啊
//啊 啊 啊 啊 啊 啊
//啊 啊 啊 啊 啊啊啊啊啊
//啊 啊 啊啊 啊 啊 啊
//啊 啊 啊 啊 啊 啊 啊
//啊 啊 啊 啊 啊 啊 啊
//啊 啊 啊 啊 啊 啊 啊
//啊啊啊 啊 啊 啊啊啊 啊
//啊 啊 啊啊 啊 啊 啊 啊
// 啊 啊 啊
// 啊 啊
// 啊 啊 啊
// 啊 啊啊
JiangXiang 2011-03-10
  • 打赏
  • 举报
回复
为什么我的空格都被清除了


请问如何扫描汉字点阵??
谢谢
JiangXiang 2011-03-10
  • 打赏
  • 举报
回复
怎么会这样,我要的输入结果是


人 人
人 人
iambic 2011-03-10
  • 打赏
  • 举报
回复
获取汉字的点阵。每个点一个字。什么字其实无所谓了。
bdmh 2011-03-10
  • 打赏
  • 举报
回复
计算好每个字的位置就是了
LaSt_C_ 2011-03-10
  • 打赏
  • 举报
回复
我还真看不出你输出的这么一大堆人想什么外形!

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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