早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c++递归函数给定一个存放正整数的数组A(元素各不相等)和一个正整数m,(1)先对数组A进行排序(从小到大),(2)再从中随意取几个数,使其和等于m,将其中所有可能的组合列出来,

题目详情
c++递归函数
给定一个存放正整数的数组A(元素各不相等)和一个正整数m,(1)先对数组A进行排序(从小到大),(2)再从中随意取几个数,使其和等于m,将其中所有可能的组合列出来,编写两个函数实现,其中一个函数用于数组排序(数组的元素赋值操作使用指针实现,注意与使用数组下标的区别),另一计算组合的函数使用递归实现。
▼优质解答
答案和解析
#include
using namespace std;
int list1[10];
//insersorrt function
void sorrt(int list[],int size)
{
for(int i=0;i {
int max=list[i];
int k;
for(k=i-1;k>=0&&list[k]>max;k--)
{
list[k+1]=list[k];
}
list[k+1]=max;
}
}
void fun(int x,int y,int z,int list[],int m)
{
if(z==m)
{
for(int i=0;i cout< cout< }
else
{
for(x;x<10;x++)
{
if(list[x]<=m-z)
{
list1[y]=list[x];
fun(x+1,y+1,z+list[x],list,m);
}

}
}
}
int main()
{
int list[10];//declare a array
//cin the array in circulation
for(int i=0;i<10;i++)
cin>>list[i];
//sorrt the array in insert sorrtion
sorrt(list,10);
//cin the number you want to funtion
int m;
cin>>m;
//use recursion function to breake up the number m
fun(0,0,0,list,m);

return 0;
}
看了 c++递归函数给定一个存放正...的网友还看了以下:

根据短文内容,从下框的A~F选项中选出能概括每一段主题的最佳选项,并在答题卡上将该选项涂黑。选项中  2020-05-15 …

六.请从二栏中找出能与一栏中的内容连成句子的选项,将序号填在括号里,并将完整的句子抄写下来.1栏:  2020-06-18 …

根据短文内容,从短文后的选项中选出能填入空白处的最佳选项,并在答案卡71—75将该项涂黑。选项中有  2020-07-17 …

阅读下面短文,掌握其大意,然后从方框中选出能填入文中空白处的最合适的单词,并将该单词填写在答题卡对  2020-07-20 …

根据短文内容,从短文后的选项中选出能填入空白处的最佳选项,并在答题卡上将该项涂黑。选项中有两项为多  2020-07-22 …

将如图1所示完好的接线板连入家庭电路中,闭合开关S1,指示灯L1发光.再将台灯L2插入接线板上的插座  2020-11-04 …

鸡蛋人人都吃过.下列关于鸡蛋的描述,正确的是()A.任何一个鸡蛋都只含有一个细胞B.鸡蛋中将来能发育  2020-11-05 …

英语翻译在结构中引入一个缺陷,那么光子禁带中将出现极窄的尖峰,在引入多个缺陷的情况下,透射谱中则可能  2020-11-13 …

下列有关能量转化的说法中正确的是()A.跳伞运动员匀速下落过程中将重力势能转化为动能B.弓箭射出过程  2020-12-03 …

读等压线示意图,c处箭头为风向。据图回答问题1.关于图中a地的说法,正确的是2.若图中将出现一次锋面  2020-12-15 …