在看编程珠玑,第三章,最后一题,额。。。。。好像用C语言做比较麻烦,因为要涉及到字符串的应用,用C++或Java之类的可能更简单些,但算法一样、
#include <stdio.h>
#include <string.h>
int size=5,count;//size是改变数字的大小
//flag代表每个数字对应h,v,h,v,h的值.
int flag[10][5]={
{ 1, 3, 0, 3, 1 },
{ 0, 1, 0, 1, 0 },
{ 1, 1, 1, 2, 1 },
{ 1, 1, 1, 1, 1 },
{ 0, 3, 1, 1, 0 },
{ 1, 2, 1, 1, 1 },
{ 1, 2, 1, 3, 1 },
{ 1, 1, 0, 1, 0 },
{ 1, 3, 1, 3, 1 },
{ 1, 3, 1, 1, 1 }
};
/*
对于h(代表水平方向)的状态,有两个值
0:代表空。1:代表有值要画size个'-'
对于v(代表垂直方向)的状态,有四个值
0:代表空。1:代表左边有值,要画size个'|'。2代表只有右边有值,要画size个'|'。
3代表左右两边都有值,所以左右两边都要画size个'|'
对于d,表于结束
*/
char lcdStates[6]={'h','v','h','v','h','d'};
char datas[100];
char *l