C----------输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。

Posted 禁忌夜色153

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C----------输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。相关的知识,希望对你有一定的参考价值。

© 版权声明:本文为博主原创文章,转载请注明出处

代码:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define GET_ARRAY_LEN(array, len){len = sizeof(array) / sizeof(array[0]);}// 定义一个带参数的宏,将数组长度存储在变量len中
 4 
 5 int main()
 6 {
 7     int seq[] = {2, 11, -4, 13, -5, 2, -5, -3, 12, -9};// 数组
 8     int i, j, len, max;
 9 
10     GET_ARRAY_LEN(seq, len);// 计算数组长度
11     max = seq[0];// 初始化最大值
12 
13     for (i = 0; i < len; i++) {
14         int temp = seq[0];
15         for (j = i + 1; j < len; j++) {
16             temp += seq[j];
17             if (temp > max) {
18                 max = temp;
19             }
20         }
21     }
22 
23     printf("The maximum of the subsequence is %d\\n", max);
24 
25     return 0;
26 }

结果:

 

以上是关于C----------输入一组整数,求出这组数字子序列和中的最大值,只要求出最大子序列的和,不必求出最大值对应的序列。的主要内容,如果未能解决你的问题,请参考以下文章

求最大子序列和

南大算法设计与分析课程OJ答案

求一组整数数组中的连续子序列和的最大值

C标准库 | 字符串转整数/浮点数函数汇总

c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗号间隔输出。

7-47 两数之和 (30 分)