【发布时间】:2015-12-06 22:27:04
【问题描述】:
如何找到给定系列中三元组的第二个最大总和? 到目前为止,我已经通过分配内存将它们放入一个数组中,然后找到了 最好的总和。我只是不知道如何找到第二好的。 感谢您的帮助。
int BestSum(int a[],int size){
int i,j,k,sum=0,best;
best=a[0]+a[1]+a[2];
for(i=0; i<(size-3);i++){
for(j=i+1;j<(size-2);j++){
for(k=j+1;k<(size-1);k++){
sum=a[i]+a[j]+a[k];
if(sum>best){
best=sum;
}
}
}
}
return (best);
}
int main(){
int n;
printf("please enter a series of numbers");
int *a,*tmp;
int siz,i,j,k;
int count=0;
a=(int*)malloc(sizeof(int));
for(siz=0;n!=0;siz++) {
scanf("%d",&n);
a[siz]=n;
tmp=realloc(a,(siz+2)*sizeof(int));
a=tmp;
}
【问题讨论】:
标签: arrays sum dynamic-memory-allocation