1760.c

来自「hoj 部分题目解题报告 c,cpp或java语言描述」· C语言 代码 · 共 52 行

C
52
字号
/* This Code is Submitted by icycandy for Problem 1760 on 2008-11-17 at 16:14:52 *//*changminqiang*/
/*Runid Proid Subtime Judgestatus Runtime Memory Language Code Length Author
303426 1760 2008-11-16 18:53:26 Accepted 0.10s  704 K C++  954 B changminqiang */
#include <stdio.h>
#include <stdlib.h>
/*函数功能:找最大子序列
  入口参数:数列a和输入数字个数n
  返回值:最大子列的值*/
int MaxSubsequenceSum(int A[], int N)
{
    int ThisSum, MaxSum, j;
    ThisSum = MaxSum = 0;
    for(j=0; j < N; j++)
{
        ThisSum += A[j];
        if (ThisSum > MaxSum)
        MaxSum = ThisSum;
        else if(ThisSum < 0)
        ThisSum = 0;
}
return MaxSum;
}
int main()
{
    int n=-1,i,m;
    int *p=NULL;
    while(n!=0)               /*循环控制*/
    {
        scanf("%d",&n);
        if(n==0)
        continue;
        else
        p=(int*)malloc(n*sizeof(int));        /*申请动态数组*/
        if(p==NULL)                           /*判断书否成功*/
        {
            exit(0);
        }
        for(i=0;i<n;i++)
        {
            scanf("%d",p+i);
        }
        m=MaxSubsequenceSum(p,n);              /*调用函数*/
        if(m>0)
        printf("The maximum winning streak is %d.\n",m);
        else
        printf("Losing streak.\n");
        free(p);                               /*释放内存*/
    }
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?