Arrays 列表中的和的练习
您好,我正在尝试解决一个关于最大和列表中的数字序列的练习: 我需要编写一个(非递归)函数,返回列表中最大的数字和。 例子: 在列表中:[-1,4,-10,9,14,-4] 需要返回23,因为9+14=23及其在该列表中的最大和。 我是C语言的工程师,不知道如何使用deboguer和C语言中的list? 你能帮我弄清楚我的问题在哪里吗Arrays 列表中的和的练习,arrays,c,list,sum,Arrays,C,List,Sum,您好,我正在尝试解决一个关于最大和列表中的数字序列的练习: 我需要编写一个(非递归)函数,返回列表中最大的数字和。 例子: 在列表中:[-1,4,-10,9,14,-4] 需要返回23,因为9+14=23及其在该列表中的最大和。 我是C语言的工程师,不知道如何使用deboguer和C语言中的list? 你能帮我弄清楚我的问题在哪里吗 int sum_lst(int lst[],int debut,int fin){ int i=debut,sum=0; for (i;i<f
int sum_lst(int lst[],int debut,int fin){
int i=debut,sum=0;
for (i;i<fin;i++){
sum+=lst[i];
}
return sum;
}
int max_sum(int lst[],int n){
int i=n;
static int sum;
int j=0;
for (i;i>0;i--){
for (j;j<n;j++){
if (sum_lst(lst,j,i)>sum){
sum= sum_lst(lst,i,j);
}
}
}
return sum;
}
int sum_lst(int lst[],int首秀,int fin){
int i=首次登场,总和=0;
对于(i;i0;i--){
对于(j;jsum){
sum=sum_lst(lst,i,j);
}
}
}
回报金额;
}
- 在(j;jBonjour:)的
处的每个循环之前,您忘记初始化
,您应该首先找到两个最高的数字,并将它们相加。如果我们不给你答案就更好了(这很容易)1>对列表进行降序排序(可能使用库排序)2>获取前两项(或者如果进行降序排序,则获取最后两项)3>voila@DDSj
的输出应该是什么?不知道如何使用调试器?那就让我们学习吧!50,当然:排序向量将是[10,-20,-30,40,-50]
,但这取决于如何实现排序的比较函数。记住:如果标准库有一个函数,就用它吧。嗨,谢谢你的帮助,我不明白你为什么说我交换i和ji,虽然这很好[50,40,-20,-30,-50]
int sum_lst(int lst[],int debut,int fin){ int i=debut,sum=0; for (i;i<fin;i++){ sum+=lst[i]; } return sum; } int max_sum(int lst[],int n){ int i=n; static int sum; int j=0; if (n<=0) return 0; sum = lst[0]; /* initialize sum */ for (i;i>0;i--){ for (j=0;j<n;j++){ /* initialize j */ if (sum_lst(lst,j,i)>sum){ sum= sum_lst(lst,j,i); /* don't swap i and j */ } } } return sum; }