字符判断字母顺序问题

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

    <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程序员最最最最最痛苦的事儿是啥,知道不? 就是,狗日的客户又回来了,程序给删没了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值