c++问题:输出自然数1到n所有不重复的排列,即n的全排列。

帮忙看看代码错在哪里:#include<iostream>#include<cstdlib>usingnamespacestd;intn;boolb[101];inta[... 帮忙看看代码错在哪里:
#include<iostream>
#include<cstdlib>
using namespace std;
int n;
bool b[101];
int a[101];
void print()
{
int i;
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
}
void tryy(n,int m)
{
int i;
for(i=1;i<=n;i++)
{if(b[i])
{a[m++]=i;
b[i]=false;
if(m==n)
print()}
else
tryy(m+1);
}
}
int main()
{
cin>>n;
int i;
memset(b,true,sizeof (b));
tryy(n,0);
system("pause");
return 0;
}
编译不通过= =
顺便看看做法有没有错~谢谢~~
展开
 我来答
智慧的默默
2014-07-07 · TA获得超过215个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:78.7万
展开全部
#include<iostream>
#include<cstdlib>
using namespace std;
int n;
bool b[101];
int a[101];
void print()
{
int i;
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
}
void tryy(int n,int m)
{
int i;
for(i=1;i<=n;i++)
{if(b[i])
{a[m++]=i;
b[i]=false;
if(m==n)
print();}
else
tryy(n,m+1);
}
}
int main()
{
cin>>n;
int i;
memset(b,true,sizeof (b));
tryy(n,0);
system("pause");
return 0;
}
都是细节问题,以上就是编译通过的,你的代码,请采纳!谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式