c语言中将一个数组中,相邻得元素俩俩相加找出最大得组合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中将一个数组中,相邻得元素俩俩相加找出最大得组合相关的知识,希望对你有一定的参考价值。

1、算法就是一次循环,每次比较两个值的和与初始值的大小,不断更新,最后输出最大值。

2、例程:

#include <stdio.h>
double maxSumOfAdjEle(double* A, int n)
    int i = 0;
    double res; 
    if(0 >= n) return 0;
    if(1 == n) return A[0];
    if(2 == n) return A[0] + A[1];
    res = A[0] + A[1]; //初始值
    for(i = 1; i < n - 1; i++) //一次循环
        if(res < A[i] + A[i + 1]) //比较初始值和每次的大小
            res = A[i] + A[i + 1]; //更新初始值
    
    return res;

 
int main()
    double A[] = .0, -1, 2.2, -3.3;
    printf("%f", maxSumOfAdjEle(A, sizeof(A) / sizeof(double)) );
    getchar();
    return 0;

参考技术A

大概是这个样子。

#include <stdio.h>

double maxSumOfAdjEle(double* A, int n)
int i = 0;
double res;
if(0 >= n) return 0;
if(1 == n) return A[0];
if(2 == n) return A[0] + A[1];
res = A[0] + A[1];
for(i = 1; i < n - 1; i++)
if(res < A[i] + A[i + 1])
res = A[i] + A[i + 1];

return res;


int main()
double A[] = .0, -1, 2.2, -3.3;
printf("%f", maxSumOfAdjEle(A, sizeof(A) / sizeof(double)) );
getchar();
return 0;


maxSumOfAdjEle的第一个参数是数组地址,第二个参数是元素个数。我不太明白你是想要得到最大的组合值,还是最大的组合元素,我暂且就按你想要最大的和来写的。如果想要最的组合元素,返回下标就行了。

本回答被提问者采纳
参考技术B #include<stdio.h>
int main(void)
int arry[50];
int first=0,next=0,sum=0;
              //输入
for(int i=0;i<50;i++)
arry[i]=i+1;
for(int i=0;i<50;i++)  
          //临时变量
int first1=arry[i];
int next1=arry[i+1];
int sum1=first1+next1;
if(sum1>sum)
      //保存信息
first=first1;
next=next1;
sum=sum1;


              //输出
if(sum!=0)
printf("the max sum = %d \\tthe first elem = %d  \\t the next elem = %d\\n",sum,first,next);
getchar();
return 0;

如何用C语言编写一个求两数相加得和的小程序。

参考技术A

利用C语言编写一个求两数相加的和的编程思想和方法如下:

1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。

2.然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。

3.接着进行a和b的加法运算,将结果赋值给变量c。

4.最后使用printf()语句将计算结果显示在屏幕上。

5.代码编写完毕后,点击运行后即可在调试窗口看到程序的运行结果。

以上是关于c语言中将一个数组中,相邻得元素俩俩相加找出最大得组合的主要内容,如果未能解决你的问题,请参考以下文章

C语言找出一个数组中出现次数最多的那个元素

Java 基本算法1:冒泡算法

如何用C语言编写一个求两数相加得和的小程序。

C语言编程:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

c语言中找出一个数组中最大值,并指出其号数,如果最大值有多个怎么办?

c语言数组内元素相加?