C自定义重写规则

时间:2015-01-17 20:05:23

标签: c string replace rewrite

我有一个硬C程序,我不明白这些要求。问题陈述如下:


编写一个程序,读取一个单词,一个数字k和几行,每行都有一个重写规则:大写字母,=和一个字符串。重写单词将替换具有给定字符串规则的每个字母;其他角色不会改变。打印通过重写初始单词k次获得的字符串。

示例:

B+AxB 
2
A=AB
B=A

打印

AB+ABAxAB

非常感谢,我真的很感激一些帮助,因为我甚至不理解这个要求。我希望有人能指出我正确的方向。

2 个答案:

答案 0 :(得分:4)

第二行中的数字表示您应用规则的次数 在这种情况下,A=ABB=A {1}}在第一次替换时扩展为B+AxB,然后在第二次替换A+ABxA

答案 1 :(得分:2)

由于该文件具有此内容

B+AxB
2
A=AB
B=A

我认为2代表申请规则的次数,所以我们先来看看,首先我们有

B+AxB

然后A应由AB代替,所以

B+(A->AB)xB -> B+ABxB
(B->A)+ABx(B->A) -> A+ABxA

然后第二次

(A->AB)+(A->AB)Bx(A->AB) -> AB+ABBxAB
AB+AB(B->A)xA -> AB+ABAxAB

请注意,只能在原始事件中进行替换。