本帖最后由 刘前辈 于 2012-4-3 15:46 编辑
终于在一个晚上灵感迸发,用2种方式解了。
这是Conway论文中的例题,我把它简化了一下:
如何把下面16x20 的字符序列变换为25 x N 的字符序列打印输出,并且:
1、将源文本中的连续2个双星号'**'改成单字符'^ ';
2、源文件每行后面的空格(符)打印出来;
3、最好用C51,在89C52系列上完成。
是否使用外部XDATA随意,我是仅使用89C52内部256字节RAM完成的。
举例:假设输入字符序列:
"Thecompiler**ct",
"cognizedirecter",
"call**atoainter",
"punctions*sande",
"rejectsthemabcd",
"Itispoi**lesstt",
"toacallptnterru",
"pte**procedures",
"dire*ctlylbecau",
"exitingtheproce",
"ceduree**causes",
"executionofthee",
"RETIains**truct",
"whichaaffectsty",
"the*hardwareoft",
"interruptsystem",
"the8051*chipemy",
"Becausenointerr",
"irruptreque**st",
"thepartof\n";
则:输出结果字符序列:
、、
|