C语言 *号绘图大赛~ [鱼C工作室]
本帖最后由 拈花小仙 于 2014-7-25 16:32 编辑发挥你们的想象,绘制出最美的图案~
C++编程小组 本帖最后由 小布丁 于 2014-7-23 03:09 编辑
我来个好玩的,不算参加活动哈,不过对你们也算是个启发~用c语言写的用星号输出任意汉字(冷门汉字除外)
有没有激发你们的灵感,谁知道怎么做呢?
其实在这个回复里我已经提示过一点了哈~{:7_168:}
本帖最后由 machimilk 于 2014-7-23 23:10 编辑
小布丁 发表于 2014-7-23 02:38
我来个好玩的,不算参加活动哈,不过对你们也算是个启发~用c语言写的用星号输出任意汉字(冷门汉字除外)
...
@拈花小仙 我做出来了
我想了2个方法:
1 找个点阵字库,对应内码,放到一个数组里面用*打印
2 输入后读屏幕像素放到数组里面,用*打印
应坛友要求,放代码
支持下不算参赛 非C语言实现 我易语言实现。
表示很没有技术含量的佛教图案~{:7_181:}
本帖最后由 小布丁 于 2014-7-24 01:10 编辑
#include<stdio.h>
#include<stdlib.h>
void Chinese_characters(char word[]);
int main(void)
{
char word;
printf("请输入要绘制的文字:");
scanf("%s",word);
Chinese_characters(word);
return 0;
}
void Chinese_characters(char word[])
{
int a,b,c;
char num;
FILE *zk;
if((zk=fopen("C:\\HZK16","rb"))==NULL )
{
printf("文件不存在!");
exit(-1);
}
a=(word&0x00ff)-0xa0;
b=(word&0x00ff)-0xa0;
fseek(zk,(94*(a-1) + (b-1))*32,SEEK_SET);
fread(num,32,1,zk);
for(b=0;b<16;b++)
{
for(a=0;a<2;a++)
{
for(c=0;c<8;c++)
{
if(num&(0x80>>c))
{
printf("*");
}
else
{
printf(" ");
}
}
}
printf("\n");
}
printf("\n");
}
汉字库下载,放在C盘下即可
本帖最后由 machimilk 于 2014-7-24 07:17 编辑
参加活动作品出现,效果如下
只有画过爱心了。。其他的不会画。
修改版绿色豌豆射手,带背景音乐,程序放出(非源码),有兴趣的朋友可以研究一下
{:7_175:}希望大家踊跃报名参加~
小甲鱼 发表于 2014-7-22 22:10
希望大家踊跃报名参加~
甲鱼你不来么?? 牡丹花下死做鬼 发表于 2014-7-22 22:19
这是用for循环打的吗? 牡丹花下死做鬼 发表于 2014-7-22 22:19
甲鱼你不来么??
{:7_177:}你们来,我看~ 拈花小仙 发表于 2014-7-22 22:20
这是用for循环打的吗?
介个...要是用循环来打还得了??
完全没规律啊
一定如果写得出来估计可以参加乱码大赛了
我记得就是有个人用递归打印出了一首歌的歌词 牡丹花下死做鬼 发表于 2014-7-22 22:19
要是用多重循环打出来的,那算法太高了~ 拈花小仙 发表于 2014-7-22 22:23
要是用多重循环打出来的,那算法太高了~
那得要好多判断啊
一般这种没什么规律的我都是直接来 牡丹花下死做鬼 发表于 2014-7-22 22:23
介个...要是用循环来打还得了??
完全没规律啊
一定如果写得出来估计可以参加乱码大赛了
是呀,如果你用循环打出来,这算法实力太高了~ 这个是要用循环打的 牡丹花下死做鬼 发表于 2014-7-22 22:24
那得要好多判断啊
一般这种没什么规律的我都是直接来
是呀,牡丹参与进来吧,有助于提升多重循环的理解~ 调动大家积极性~ 拈花小仙 发表于 2014-7-22 22:27
是呀,牡丹参与进来吧,有助于提升多重循环的理解~ 调动大家积极性~
OK 我写个循环的 输出时输出图形就行了= = 本帖最后由 1012662902 于 2014-7-23 00:42 编辑
参加一下玩玩嘿嘿 不错,赞一个~
我和甲鱼一起观望你们 我和小甲鱼,小布丁一起观望你们。。。 我也来个另类的,不算参赛 学习一下,这个应该有比较好的方法的