• python_递归实现汉诺塔 (string类型的指针出错 未解决)


    • 在递归的时候,和数学的归纳法一致。
    void func( mode)
    {
        if(endCondition)
        {
            constExpression         //基本项
        }
    
        else
        {
    
            accumrateExpreesion     //归纳项
    
            mode=expression         //步进表达式
    
                func(mode)          //调用本身,递归
    
        }
    
    }
    •  回文是一种字符串,它正着读和反着读都是一样的。比如level,eye都是回文。用迭代的方法可以很快地判断一个字符串是否为回文。用递归的方法如何来实现呢
    •  1 #include"iostream"
       2 #include<stdio.h>
       3 #include"string"
       4 #define MAX 100
       5 using namespace std;
       6 
       7 
       8 /*这是错误的,传进str的整个string则没有办法化解成小问题,这里需要指
       9 之后强行把string str 改为指针也不对,会出现异常错误。
      10 int per(int n ,string str){
      11     if (n == 1 && n == 0)
      12         return 1;
      13     else {
      14         per(n - 2, str[1]);
      15     }
      16 }
      17 */
      18 int per(int n, char *str) {
      19     if (n == 1 || n == 0)
      20         return 1;
      21     else {
      22         if (str[0] == str[n - 1])
      23              per(n - 2, &str[1]);
      24         else
      25             return -1;
      26     }
      27 }
      28 
      29 
      30 
      31 int main() {
      32     int len;
      33     char str[MAX];
      34     while(1)
      35     {
      36         printf("please enter the word :");
      37         //os<<s
      38         scanf("%s", &str);
      39         len = (int)strlen(str);
      40         int result = per(len, str);
      41         if (result == 1)
      42             printf("true
      ");
      43         else
      44             printf("fault
      ");
      45 
      46     }
      47     
      48     system("pause ");
      49 }

      string 类型的指针会出现错误,现在还不知道错误在哪里疑问

  • 相关阅读:
    B3
    B2
    b1
    个人作业——软件工程实践总结作业
    Beta 答辩总结
    Beta 冲刺 (7/7)
    Beta 冲刺 (6/7)
    Beta 冲刺 (5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
  • 原文地址:https://www.cnblogs.com/xiaochige/p/7931603.html
Copyright © 2020-2023  润新知