- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
广东工业大学实验报告
___自动化 _学院___网络工程__专业_3__班 学号_3111001381_姓名__何宇航 ___ 成绩评定_______ 教师签名 许亮
实验__三__题目___魔王语言解释_______________ 课程名称 数据结构A
PAGE
一.实验目的
魔王语言可以按以下三条规则翻译成人听懂得话:
(θδ1δ2…δn)→θδnθδn-1…θδ1θ
B-tAdA
A-sae
要求设计者设计一个魔王语言解释程序
二.实验内容
有一个魔王总是使用自己的一种非常精炼而抽象的语言讲话,没有人能听懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的,设大写字母表示魔王语言的词汇;小写字母表示人的语言词汇;希腊字母表示可以用大写字母或小写字母代换的变量。魔王语言可含人的词汇。
三.实验步骤(可选)
详细设计代码:
#include iostream
#includestring.h
#includestdlib.h
#define FALSE 0
#define TRUE 1
#define size 300
using namespace std;
typedef struct
{
char elem[size];
int top;
}Stack,Queue;
void InitStack(Stack *S )
{
S-top=-1;
}
int Push(Stack *S, char x)
{
if(S-top==size-1) return 0;
S-top++;
S-elem[S-top]=x;
return 1;
}
void Translation2(char e)
{
switch(e)
{
caseB:
cout天上一只鹅地上一只鹅 ;
break;
caseA:
cout上一只鹅 ;
break;
caset:
cout天;
break;
cases:
cout上;
break;
casea:
cout一只;
break;
casee:
cout鹅;
break;
caseh:
cout恨;
break;
casen:
cout蛋;
break;
casex:
cout下;
break;
caseg:
cout赶;
break;
casez:
cout追;
break;
cased:
cout地;
break;
}
}
void Translation1(Stack *S )
{
cout魔王语言解释成人能听懂的语言:;
char e;
while(S-top!=-1)
{
e=S-elem[S-top];
S-top--;
Translation2(e);
}
}
void main ()
{
Stack S;
InitStack(S );
cout魔王请说话:\n;
char str[100];
while (scanf(%s,str)!=EOF)
{
int flag=0,j,m=0,n=0;
for(j=strlen(str)-1;j=0;j--)
{
if(str[j]==))
{
flag++;
n=j;
}
if(str[j]==()
{
flag++;
m=j;
}
}
if(flag==0)
{
for(j=strlen(str)-1;j=0;j--)
{
Push(S, str[j]);
}
Translation1(S);
cout\n;
}
if(flag==2)
{
for(j=strlen(str)-1;jn;j--)
{
Push(S,str[j]);
}
Push(S,str[m+1]);
for(j=m+2;jn;j++)
{
Push(S,str[j]);
Push(S,str[m+1]);
}
for(j=m-1;j=0;j--)
{
Push(S,str[j]);
}
Translation1(S);
cout\n;
}
if(flag2||flag==1)
{
coutinput wrong\n;
}
}
}
四.实验的结果及分
您可能关注的文档
最近下载
- 2025年元宇宙产业发展趋势报告:区块链技术基础设施建设创新.docx VIP
- 跨境电商出口跨境电商行业跨境电商出口市场分析与发展趋势报告.docx
- 初中数学教学中推理能力的培养与数学学习策略的关系研究教学研究课题报告.docx
- 跨境电商跨境电商平台跨境电商平台跨境电商平台运营策略研究报告.docx
- 1平正安稳 教学课件 六年级下册书法(苏少版).ppt VIP
- 11同字异形 教学课件 六年级下册书法(苏少版).pptx VIP
- 药品包装材料质量控制标准体系国内外药包材标准体系的对比.pptx VIP
- 侦查措施与策略.pdf VIP
- 3同中求变 教学设计 六年级下册书法(苏少版).docx VIP
- 架子工安全管理制度.pdf VIP
文档评论(0)