关于递规的问题求教大神们
请问A翻译为a,B翻译为tAdA其中A也要翻译为a如何写一个函数进行递规调用进行翻译实现我输入一个字符串ABab翻译为atadaab
2012-10-22 10:17
2012-10-22 10:20
2012-10-22 10:55
2012-10-22 11:24
程序代码:#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);
}

2012-10-22 14:39
2012-10-22 15:20
程序代码:你的意思我明白,我做的只是一种情况。但其他的思路是一样的。
只要匹配链表中的字符就行了。假如,建立链表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;
}

2012-10-22 16:22