- 3
- 0
- 约2.88千字
- 约 5页
- 2016-08-13 发布于重庆
- 举报
用有穷自动机解一道面试题
用有穷自动机解一道面试题
题目的要求是:一个字符串由多个单词组成,这些单词由一个或者连连续多个空格分隔开,请写一个程序统计输入的字符串有多少个单词。
这个题目很简单,可能有N种方法可以解决它。把它用来做实例,并非是要想说明DFA的功能强大,而是因为它是一个说明DFA的好例子。这个DFA:
字母表:英文字母和空格。
状态:起始状态、单词状态、空格状态和接受状态。
转换规则:
起始状态下读到非空格,进入单词状态。
单词状态下读到空格,进入空格状态。
空格状态下读到非空格,进入单词状态。
在起始状态、单词状态和空格状态下读到’/0’,进入结束状态。
每次进入单词状态,单词数计数加1。
实现代码如下:
//Build: gcc -DDEBUG -g countwords.c -o cw.exe
#include?stdio.h
#include?stdlib.h
#include?assert.h?
int?CountWords(const?char*?pszStr)
{
?????????enum
?????????{
??????????????????STAT_START,
??????????????????STAT_IN_WORD,
??????????????????STAT_IN_SPACE
?????????}eState?=?STAT_START;
?????????i
您可能关注的文档
最近下载
- 2024届江苏省南通等六市高三第一次模拟考试英语试题最新 .pdf VIP
- 说明书奥太 MZ-IV系列逆变式直流埋弧焊机.pdf VIP
- 新能源汽车技术专业群 “AI+” 职教项目整体实施方案.docx
- 高校国家网络安全宣传周知识竞赛考试题库100题(含答案).docx
- JGJ215-2010:建筑施工升降机安装、使用、拆卸安全技术规程.pdf VIP
- 视听语言PPT(影视相关专业)全套教学课件.pptx
- 新22J02 屋面-标准图集.docx VIP
- 第四单元第16课模块功能先划分+ 课件 -2024—2025学年人教版(2024)初中信息技术八年级全一册.pptx VIP
- FANUC工业机器人离线编程与仿真 3.实操部分操作.pdf VIP
- 基于BIM的铁路基础设施运维管理平台总体方案及关键技术研究.pdf VIP
原创力文档

文档评论(0)