View Code of Problem 19

#include <stdio.h>
#include <stdlib.h>

int MaxSubsequenceSum(const int array[], int n);
int main()
{
    int a[100];
    int n,i,sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    sum=MaxSubsequenceSum(a,n);
    printf("%d",sum);



}

int MaxSubsequenceSum(const int array[], int n)
{
    int tempSum, maxSum;
    maxSum = 0;
    for (int i = 0;i < n;i++)       // 子序列起始位置
    {
        for (int j = i;j < n;j++)   // 子序列终止位置
        {
            tempSum = 0;
            for (int k = i;k < j;k++)   // 子序列遍历求和
                tempSum += array[k];
            if (tempSum > maxSum)       // 更新最大和值
                maxSum = tempSum;
        }
    }
    return maxSum;
}

Double click to view unformatted code.


Back to problem 19