问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

...9的9个数放入这个数组,也求出所有可能。c语言实现。说一下思路或者...

发布网友 发布时间:2024-03-07 23:20

我来回答

1个回答

热心网友 时间:2024-03-08 02:39

这是全排列的问题。
全排列算法:
如果我求得固定第一位后的排列,那么全部排列就可以求出,固定第一位有10种可能,可以循环求得。
如果我求得固定第二位后的排列,固定第一位后的排列就可以求出,固定第二位有9种可能,可以循环求得。
。。。
如果我求得固定第10位后的排列,固定第9位后的排列就可以求出,固定第10位有1种可能,可以循环求得。
这很明显是递归的算法。
#include <stdio.h>
int n,a[10]; /*a[1],a[2],…,a[n]构成n个数的一个排列*/
long count=0; /*变量count记录不同排列的个数,这里用于控制换行*/
void perm(int k) /*定义函数perm( )*/
{
int j,p,t;
if(______①k==n______) /* ==是判断符号 =是赋值符号 循环1*/

{
count++;
for(p=1;p<=n;p++) printf("%1d",a[p]); /* "%1d" 中是数字1,不是字母l 输出a[1],a[2],......a[n]*/
printf("");
if(______②count%5==0 ______) printf("\n");/* 每输出5个排列换一次行*/

return;
}/* 当k==n时,进入循环1*/

for(j=k;j<=n;j++)
{
t=a[k];a[k]=a[j];a[j]=t;/* 交换a[k]和a[j]的位置*/

______③perm(k+1)______;
t=a[k];______④a[k]=a[j]; a[j]=t______;/* 交换a[k]和a[j]的位置*/
}
}
main()
{
int i;
printf("Entry n:\n"); scanf("%d",&n); /* 输入的数存贮到n上*/
for(i=1;i<=n;i++) a[i]=i;
}

讲解一下perm:
设perm(int k)为全部排列的集合,k为数字的位置

perm(int k){
for(j=k;j<=n;j++) //循环数组,确定k位的数值
{
t=a[k];a[k]=a[j];a[j]=t;/* 交换a[k]和a[j]的位置,目的是为了确定k位的数值*/

______③perm(k+1)______;//求得确定k位后的全部序列
t=a[k];______④a[k]=a[j]; a[j]=t______;/* 交换a[k]和a[j]的位置*/
}
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
幼儿珠心算有那些口诀 儿童免费小学教育网站请推荐几个小学二年级网络教育的网站 高频热处理后,产品的表面质量如何改善? ...2B的外螺纹滚丝后是OK的,但经过热处理与发黑后就有20%止规止不住... 真空热处理后的产品是否需要进一步处理? 教你怎么改变iOS 13充电慢 金铲铲之战 金铲铲s8.5纳尔给什么装备? 英雄联盟双排玩什么英雄英雄联盟中双排哪些英雄配合打套路特别叼金属日... 金铲铲之战 名流纳尔阵容解析 推荐LOL最值得入手最好上分的十大英雄?另外问下兰博还强力吗?_百度知 ... 玉树有哪些避暑胜地值得一去? 青海玉树囊谦和杂多那个好一点 朗字用部首查字法查时部首是什么 想找一个有趣又不乱来的男生有那么难吗 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 测正向电阻为什么是黑表笔接二极管正极红表笔接 用欧姆表测二极管的正向电阻时,为什么要将黑表笔接二极管正极? 贾乃亮的感情之路到底有多坎坷? 该如何自学韩语呢?零基础。。。 想自学韩语如何开始? 梅里爱的见证创作背景 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 谁有19寸左右桌面动态壁纸...最好风景的 跪求好看的电视剧、电影,暑假在家快发霉了 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 关于微信绑定上限的问题:你的手机号在最近24小时内已绑定过3个... 关于微信绑定上限的问题:你的手机号在最近24小时内已绑定过3个... 英语中“它三米长怎么表达” 台湾的一个普通工人的一个月工资大概是多少 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... ...2,3,4,5,6,7,8,9,10} 要求通过指针完成从一维数组中删除下标为K的元... 已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},C语言问题_百度... 歌曲遥远的鄂尔多斯表达什么情感 大同元年中央银行发行的五角钱价值怎么样? 满洲中央银行发行的五角纸币值多少钱? 中标通知书招标公司盖章把公司名遮隐着看不见是怎么回事 中标通知书由招标代理编制的吗? 宁波有哪些适合遛娃的主题公园? 求高手用贴吧SQL软件统计一下数码暴龙吧最有影响力的100位吧友 描写生活的语段、名言。 超级数码暴龙世界boss在哪刷新 夏普电视58u1a怎么购买软件升级卡 夏普液晶电视怎么升级? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 闽南语直接翻译等无人 闽南语经典老歌《等无人》特别有感觉,听听闽南语歌的魅力所在 ...说明矿泉水是溶液,蒸馏水是纯净水。 表格 实验步骤 实验现象 结论... 伊来克斯是一线品牌吗 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... qq飞车扫码上号别人是看不到
  • 焦点

最新推荐

猜你喜欢

热门推荐