2010年广州周立功单片机(致远电子) 机试题(4)答案
2009-09-21 23:27
253 查看
答案不标准也不一定是最佳,仅供参考
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _STATE
{
char data;
struct _STATE *zero;//指向0跳转的下一个状态
struct _STATE *one;//指向0跳转的下一个状态
}STATE,*pSTATE;
STATE charState[8];//八种状态
STATE beginNode;
void InitStateMachine(STATE charState[])
{
charState[0].data='A';
charState[1].data='B';
charState[2].data='C';
charState[3].data='D';
charState[4].data='E';
charState[5].data='F';
charState[6].data='G';
charState[7].data='H';
charState[4].one=&charState[0];
charState[4].zero=&charState[2];
charState[0].one=&charState[2];
charState[0].zero=&charState[1];
charState[1].one=&charState[5];
charState[1].zero=&charState[3];
charState[2].one=&charState[3];
charState[2].zero=&charState[3];
charState[3].one=&charState[6];
charState[3].zero=&charState[7];
charState[5].one=NULL;
charState[5].zero=NULL;
charState[6].one=&charState[4];
charState[6].zero=&charState[4];
charState[7].one=&charState[5];
charState[7].zero=&charState[5];
beginNode.data=0;
beginNode.one=&charState[0];
beginNode.zero=&charState[2];
}
void StateMachine(const char *pStates,char *pOutput)
{
pSTATE p=&beginNode;
unsigned int length = strlen(pStates),i;
for(i=0 ; i<length ; i++)
{
if(pStates[i] == '0')
{
if(p->zero == NULL)
{
printf("/n");
return;
}
p=p->zero;
printf("%c",p->data);
}
else
{
if(pStates[i] == '1')
{
if(p->one == NULL)
{
printf("/n");
return;
}
p=p->one;
printf("%c",p->data);
}
}
}
printf("/n");
}
void main()
{
char States[50],Output[50];
InitStateMachine(charState);
printf("请输入01字串(最长50个字符) :");
scanf("%s",States);
StateMachine(States,Output);
}
完整内容所在目录:http://www.mythroad.net/tag/q_written_examination_and_interview_code_title/
更多精彩内容来自:魔豆之路 - 神秘前路,待拨迷雾http://www.mythroad.net
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _STATE
{
char data;
struct _STATE *zero;//指向0跳转的下一个状态
struct _STATE *one;//指向0跳转的下一个状态
}STATE,*pSTATE;
STATE charState[8];//八种状态
STATE beginNode;
void InitStateMachine(STATE charState[])
{
charState[0].data='A';
charState[1].data='B';
charState[2].data='C';
charState[3].data='D';
charState[4].data='E';
charState[5].data='F';
charState[6].data='G';
charState[7].data='H';
charState[4].one=&charState[0];
charState[4].zero=&charState[2];
charState[0].one=&charState[2];
charState[0].zero=&charState[1];
charState[1].one=&charState[5];
charState[1].zero=&charState[3];
charState[2].one=&charState[3];
charState[2].zero=&charState[3];
charState[3].one=&charState[6];
charState[3].zero=&charState[7];
charState[5].one=NULL;
charState[5].zero=NULL;
charState[6].one=&charState[4];
charState[6].zero=&charState[4];
charState[7].one=&charState[5];
charState[7].zero=&charState[5];
beginNode.data=0;
beginNode.one=&charState[0];
beginNode.zero=&charState[2];
}
void StateMachine(const char *pStates,char *pOutput)
{
pSTATE p=&beginNode;
unsigned int length = strlen(pStates),i;
for(i=0 ; i<length ; i++)
{
if(pStates[i] == '0')
{
if(p->zero == NULL)
{
printf("/n");
return;
}
p=p->zero;
printf("%c",p->data);
}
else
{
if(pStates[i] == '1')
{
if(p->one == NULL)
{
printf("/n");
return;
}
p=p->one;
printf("%c",p->data);
}
}
}
printf("/n");
}
void main()
{
char States[50],Output[50];
InitStateMachine(charState);
printf("请输入01字串(最长50个字符) :");
scanf("%s",States);
StateMachine(States,Output);
}
完整内容所在目录:http://www.mythroad.net/tag/q_written_examination_and_interview_code_title/
更多精彩内容来自:魔豆之路 - 神秘前路,待拨迷雾http://www.mythroad.net
相关文章推荐
- 2010年广州周立功单片机(致远电子) 机试题(5)答案
- 2010年广州周立功单片机(致远电子) 机试题(1)答案
- 2010年广州周立功单片机(致远电子) 机试题(2)答案
- 2010年广州周立功单片机(致远电子) 机试题(3)答案
- 2010年广州周立功单片机(致远电子) 机试5道题
- 2010年广州周立功单片机(致远电子) 机试5道题
- ssd7 数据库系统2010年--大学期中考试试题及答案
- 全国自考计算机组成原理试题和答案下载 2008年到2010年的试题
- 2009年下半年11月份信息系统项目管理师上午试题答案(分析与解答)(第5次修订 修订时间:2010年03月14日02时02分)
- 2010年机器视觉试题及答案(山东大学控制科学与工程学院)
- 2009年下半年11月份信息系统项目管理师上午试题答案(分析与解答)(第5次修订 修订时间:2010年03月14日02时02分) (转)
- 大家好,这是我的2010年清华研究生复试C++的试题呦实力的相互讨论下答案,谢谢
- 大家好,这是我的2010年清华研究生复试C++的试题 有实力的相互讨论下答案,谢谢
- 两个单片机编程试题答案
- 2010年上半年5月份信息系统项目管理师上午试题答案(分析与解答)之十一
- 第六届全国信息技术应用水平大赛Java组复赛B卷试题答案
- 2008 年下半年网络工程师考试试题及答案
- 程序设计大赛试题及答案
- 周立功写给学单片机的年轻人
- 微软的应试题完整版(附答案)