- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
魔王语言解释
#includestdio.h#includestdlib.h#includestring.h#define Size 100
typedef struct{char elem[Size];int top;}SeqStack;
typedef struct{char c;char str[30];}Magic;
void input1(Magic A[3]);void judge1(Magic A[3]);void input2(Magic A[3],char *language,SeqStack a,SeqStack b);void input2_1(Magic *B);void judge2_1(Magic *B,Magic A[3]);SeqStack input3(Magic A[3],char *language,SeqStack *a,SeqStack b);SeqStack judge3(Magic A[3],char *language,SeqStack a,SeqStack b);int judge3_1(char *language,Magic A[3]);void InitStack(SeqStack *s);void Push(SeqStack *s,char x);char Pop(SeqStack *s,char x);void GetTop(SeqStack *s,char x);SeqStack translate1(char *language,Magic A[3],SeqStack a,SeqStack b);SeqStack reverse(SeqStack b,SeqStack a);int translate1_1(Magic A[3],char *language,SeqStack a,SeqStack b);int translate1_2(Magic A[3],char *language,SeqStack a,SeqStack b);int translate1_3(Magic A[3],char *language,SeqStack a,SeqStack b);void print(Magic A[3],SeqStack *a);int judge4(Magic A[3],char *language,SeqStack a,SeqStack b);int judge5(Magic A[3],char *language,SeqStack *a,SeqStack b);
//输入魔王语言所使用的字符void input1(Magic A[3]){int i;printf(请输入魔王所使用的字符:(请从26个大写英文字母中选择)\n);for(i=0;i3;i++){?? printf(请输入第%d个字符:,i+1);?? flushall();?? scanf(%c,A[i].c);}}
//检测所输入的魔王字符是否正确void judge1(Magic A[3]){int i;char choice;for(i=0;i3;){?? if(A[i].c=AA[i].c=Z)??? i++;?? else?? {??? printf(输入错误。要重新输入吗?(y或n));??? flushall();??? scanf(%c,choice);??? if(choice==y||choice==Y)???? input1(A);??? else???? exit(0);?? }}}
//输入并判断魔王语言的翻译规则void input2(Magic A[3],char *language,SeqStack a,SeqStack b){int i;printf(\n请输入每个字符的翻译规则:(由您所输入的大写字母和其他小写字母组成的字符串));printf(魔王语言所使用的字符为:%c %c %c\n,A[0].c,A[1].c,A[2].c);for(i=0;i3;i++){?? printf(\n%c:,A[i].c);?? input2_1(A[i]);?? judge2_1(A[i],A);}if(judge4(A,language,a,b)==1){??? a=input3(A,language,a,b);??? print(A,a);}
}
void input2_1(Magic *B){printf(请输入规则:\n);flushall();gets(B-str);}
void judge2_1(Magi
文档评论(0)