📄 max_batch.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int a[]= {1,3,5,9,-4,6,-7,-23,4,20,89,-71,5};
int main (void)
{
int i;
int max = 0; //存放计算过程的中的局部最大值
int beg = 0; //局部最大值的起始位置
int end = 0; //局部最大值的最终位置
int reserve_val = 0;//全局最大值
int r_beg = 0;//全局最大值的起始位置
int r_end = 0;//全局最大值的最终位置
for (i = 0; i < sizeof (a) / sizeof (int); i++)
{
if ((max + a[i]) > a[i])//判断,然后更新局部最大值、起始位置、最终位置
{
end = i;
max = max + a[i];
}
else
{
beg = i;
end = i;
max = a[i];
}
if (max > reserve_val)//局部最大值和全局最大值进行比较
{
reserve_val = max;
r_beg = beg;
r_end = end;
}
}
printf ("max= %d, during [%d, %d]\n", max, beg, end);
printf ("r_v= %d, during [%d, %d]\n", reserve_val, r_beg, r_end);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -