#include<stdio.h>
#include<conio.h>
#include<string.h>
char *createP(int);
int main()
{
int n,i;
char str[100];
printf("int n = ");
scanf("%d",&n);
printf("string str = ");
scanf("%s",&str);
if(n>40)
return -1;
for(i=0;i<strlen(str);i++)
if(str[i]=='X' || str[i]=='Y' || str[i]=='Z')
continue;
else
return -1;
char *P;
P=createP(n);
printf("The generated string is = %s",P);
return 0;
}
char *createP(int n)
{
if(n==0)
return "X";
if(n==1)
return "Y";
if(n==2)
return "Z";
if(n>2)
return strcat(createP(n-2),createP(n-3));
}
我正在尝试为以下问题创建一个字符串:
P(0) = 'X'
P(1) = 'Y'
P(2) = 'Z'
P(n) = P(n-2) + P(n-3), n>2 其中 + 表示字符串连接。我正在使用递归(看起来很明显)来解决这个问题。但是我的 .exe 不起作用。