首页 > 试题广场 >

请编写程序实现如下的功能。

[问答题]
请编写程序实现如下的功能。
(1)假设主函数内,存在一个已经初始化的由小写英文字母组成的字符串 str1(长度不超过100);
(2)利用递归方法编写函数trans(),该函数对于字符串str1完成如下的处理:若字符串str1是由 字母组成,trans()函数处理以后将生成新字符串str2,str2由字母组成。
(3)在主函数中通过屏幕输出转换后的字符串str2。
要求:
(1)trans()函数须采用递归方法完成字符串的处理;
(2)处理后的字符串须在主函数中输出。
例如:假设初始化的str1为 abcdefg
      屏幕输出:   gafbecddcebfag
#include<string.h>
void main()
{
	void trans(char str1[100],char str2[200],int n);
	char str1[100]={"abcdefg"},str2[200]={'\0'};
	int n;
	n=strlen(str1);
	trans(str1,str2,n);
	printf("%s\n",str2);
}
void trans(char str1[100],char str2[200],int n)
{
	int i;
	if (n==1)
	{
		str2[0]=str1[n-1];
		str2[1]=str1[0];
	}
	else 
	{
		trans(str1,str2,n-1);
	    for (i=2*(n-1)-2;i>=0;i=i-2)
		    str2[i+2]=str2[i];
	    str2[0]=str1[n-1];
	    str2[2*n-1]=str1[n-1];
	}
}


这道题你会答吗?花几分钟告诉大家答案吧!