关于递规的问题求教大神们
请问A翻译为a,B翻译为tAdA其中A也要翻译为a如何写一个函数进行递规调用进行翻译实现我输入一个字符串ABab翻译为atadaab
#include<stdio.h> char b[100]; char c[]="tAdA"; void zhuanhuan(char *p) { int i=0; static int k; while(p[i]!='\0') { if(p[i]=='B') zhuanhuan(c); else { if(p[i]=='A') { b[k]=p[i]+32; printf("%c",b[k]); } else { b[k]=p[i]; printf("%c",b[k]); } } ++k; ++i; } } void main() { char a[50]; scanf("%s",a); zhuanhuan(a); }
你的意思我明白,我做的只是一种情况。但其他的思路是一样的。 只要匹配链表中的字符就行了。假如,建立链表l,(从文件中读取也是一样的) 就可以这样判断while(p[i]!='\0') { if(p[i]==l.ch) zhuanhuan(l.s); else { if(p[i]==l.ch) { //替换的代码 printf("%c",b[k]); } else { b[k]=p[i]; printf("%c",b[k]); } } ++k; ++i; }