• 字符判断字母顺序问题


    每日一贴,今天的内容关键字为字符判断

        <1>题问:3个A、3个B、3个C,输出足满件条:相邻的母字不能重复这样的序列

        <2>代码:

        #include<iostream.h>
    char c[9];   //存储9个人的坐位次序
    const char choice[3] = {'A','B','C'};
    //判断相邻的两个字符否是雷同
    bool judgeEqual(const char*  c)
    {
     for(int i = 0;i < 8;i++)
     {
      if(c[i] == c[i+1])
      {
       return false;
      }
     }
     return true;
    }

        //判断个每字符否是都是三个
    bool isThree(const char* c)
    {
     int iA = 0,iB = 0,iC = 0;
     for(int i = 0;i < 9;i++)
     {
      switch(c[i])
      {
      case 'A': iA++; break;
      case 'B': iB++; break;
      case 'C': iC++; break;
      }
     }
     if(iA==3 && iB==3 && iC==3)
      return true;
     return false;
    }

        每日一道理
    书,各种各样的书。书,寄托着人类热切的希望;书,蕴含着人类丰富的感悟。提起书,会有说不完的话语……

        //溯回列举出9个字符有所的排列计划
    void dfs(int index)
    {
     if(index==9)
     {
      if(judgeEqual(c) && isThree(c))  //如果这九个每两个相邻的字符都不雷同,就打印出这9个字符
      {
       for(int i = 0;i < 9;i++)
       {
        cout<<c[i];
       }
       cout<<endl;
      }
      return;
     }
     for(int i = 0;i < 3;i++)
     {
      c[index] = choice[i];
      dfs(index+1);
      //c[index] = ' ';     //自己写溯回的时候老是写这句,说行进恢复,其实不谢,更易容懂得
     }
    }

        //主函数
    void main()
    {
     dfs(0);
    }

        <3>运行结果截图:

        字符和判断

    文章结束给大家分享下程序员的一些笑话语录: 小沈阳版程序员~~~ \n程序员其实可痛苦的了......需求一做一改,一个月就过去了;嚎~ \n需求再一改一调,一季度就过去了;嚎~ \n程序员最痛苦的事儿是啥,知道不?就是,程序没做完,需求又改了; \n程序员最最痛苦的事儿是啥,知道不? 就是,系统好不容易做完了,方案全改了; \n程序员最最最痛苦的事儿是啥,知道不? 就是,系统做完了,狗日的客户跑了; \n程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!

  • 相关阅读:
    C#操作Word完全功略
    Ubuntu安装BackExec Remote Agent for Linux
    curl快速实现网速测试
    GitHub已将持续集成服务器Janky开源
    串行(Sequential)、并发(Concurrent)、并行(parallel)与分布式(distributed)
    使用ld的wrap选项替换已有库函数
    Linux获取程序编译参数
    配置Apache+Tomcat实现SSO(单点登录)
    ipad+Blackberry构建临时网络访问
    巧解 JavaScript 中的嵌套替换
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3061764.html
Copyright © 2020-2023  润新知