#include<stdio.h> /** 给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。 对于S的所有非空连续子序列T,求最大的序列和。 */ int max_num(int x, int y) { if (x > y) return x; else return y; } int main() { int n, x; while (scanf("%d", &n) != EOF) { //输入N个数 int sum = 0, max = -999999; for (int i = 0; i < n; i++) { scanf("%d", &x); //每输入一个数 sum = max_num(sum + x, x); //比较 输入的数 or 之前序列和 谁大,取大值做为累加和 if (sum > max) max = sum; } printf("%d", max); } return 0; }