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语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1447 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:633 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
【计算球体积】 (C语言代码)浏览:1102 |
sizeof的大作用 (C语言代码)浏览:1028 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:537 |
上车人数 (C语言代码)浏览:713 |