- 在递归的时候,和数学的归纳法一致。
void func( mode)
{
if(endCondition)
{
constExpression //基本项
} else
{ accumrateExpreesion //归纳项 mode=expression //步进表达式 func(mode) //调用本身,递归 } }
- 回文是一种字符串,它正着读和反着读都是一样的。比如level,eye都是回文。用迭代的方法可以很快地判断一个字符串是否为回文。用递归的方法如何来实现呢
-
#include"iostream"
#include<stdio.h>
#include"string"
#define MAX 100
using namespace std; /*这是错误的,传进str的整个string则没有办法化解成小问题,这里需要指
之后强行把string str 改为指针也不对,会出现异常错误。
int per(int n ,string str){
if (n == 1 && n == 0)
return 1;
else {
per(n - 2, str[1]);
}
}
*/
int per(int n, char *str) {
if (n == || n == )
return ;
else {
if (str[] == str[n - ])
per(n - , &str[]);
else
return -;
}
} int main() {
int len;
char str[MAX];
while()
{
printf("please enter the word :");
//os<<s
scanf("%s", &str);
len = (int)strlen(str);
int result = per(len, str);
if (result == )
printf("true\n");
else
printf("fault\n"); } system("pause ");
}string 类型的指针会出现错误,现在还不知道错误在哪里疑问