编程题,有1 2 3三个数字,能组成多少个互不相同且无重复数字的三位数,并请输出这些三位数

 我来答
汪洋475
2014-07-23
知道答主
回答量:2
采纳率:0%
帮助的人:2785
展开全部
void Permute(int A[],int n,int index){

if(index>=n){
for(int i=0;i<n;i++){
printf("%d",A[i]);
}
printf("\n");

}
for(int i=index;i<n;i++){
swap(A[i],A[index]);
Permute(A,n,index+1);
swap(A[i],A[index]);
}

}
int main(){

int A[]={1,2,3};
Permute(A,sizeof(A)/sizeof(int),0);
}
追问
你这是用什么语言编写的
追答

c或c++都能运行加头文件不同而已,以下是C++代码

#include<iostream>
using namespace std;
void Permute(int A[],int n,int index){

if(index>=n){
for(int i=0;i<n;i++){
printf("%d",A[i]);
}
printf("\n");

}
for(int i=index;i<n;i++){
swap(A[i],A[index]);
Permute(A,n,index+1);
swap(A[i],A[index]);
}

}
int main(){

int A[]={1,2,3};
Permute(A,sizeof(A)/sizeof(int),0);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuxd7
2014-07-23 · TA获得超过323个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:285万
展开全部
定义一个数组,s=[1,2,3];
for(int i=0;i<s.length;i++){
for(int j=0;j<s.length;j++){
for(int k=0;k<s.length;k++){
if(i!=j&&i!=k&&j!=k){
int c =s[i]*100+s[j]*10+s[k];
}else{
continue;

}

}
}
}
追问
这个方法不错啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yf1163129539
2014-07-23
知道答主
回答量:4
采纳率:0%
帮助的人:4348
展开全部
用 randperm matlab语句
追问
用c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彩瑰雨6
2014-07-23 · TA获得超过1756个赞
知道大有可为答主
回答量:3216
采纳率:33%
帮助的人:1195万
展开全部
123 132 213 231 312 321
更多追问追答
追答
6个
追问
我不需要这个答案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式