int n,m; int pre = 0; int current = 0; int flag=0; int firstnum=INT_MIN; int temp_n; if(scanf("%d", &n)){ temp_n = n; while(n-- > 0){ scanf("%d", &m); if(m < 0){ flag++; if(firstnum<m) firstnum = m;//记录当前最大值 } pre = pre + m; current = fmax(pre, current); if(pre < 0) pre = 0; } if(flag == temp_n) printDefine(firstnum, "最大子类和"); else printDefine(current, "最大值"); }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:981 |
C语言程序设计教程(第三版)课后习题8.2 (Java代码)浏览:2287 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:1052 |
wu-淘淘的名单 (C++代码)浏览:1532 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:648 |
简单的a+b (C语言代码)浏览:661 |
Cylinder (C语言描述,蓝桥杯)浏览:1279 |
蓝桥杯历届试题-翻硬币 (C++代码)浏览:953 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:631 |