C++递归问题(利用递归输出所有满足条件的情况)

#include<iostream>usingnamespacestd;inta[3]={0,0,0},b[5]={0,1,2,3,4},j;voidTry(inti){... #include<iostream> using namespace std; int a[3]={0,0,0},b[5]={0,1,2,3,4},j; void Try(int i) { while(i<=2) { for(j=1;j<=4;j++) if((a[i]==0)&&(b[j]!=0)) { a[i]=j; b[j]=0; if(i<2) Try(i+1); else cout<<a[0]<<a[1]<<a[2]<<endl; a[i]=0; b[j]=j; }; i++; }; } int main() { Try(0); return 0; } 题目:由整数1、2、3、4组成一个无重复数字的三位数 为什么这个程序无法输出所有的情况? 展开
 我来答
粉神閍
2014-08-12 · TA获得超过903个赞
知道答主
回答量:106
采纳率:0%
帮助的人:142万
展开全部
看的我直晕啊,那个b数组是全局的,你每次改变了却没有恢复原状
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式