课堂作业求数组中最大子数组的和

#include <stdio.h>
#include <string.h>
int max(int* a, int n);

int main(void)
{
int str[100];
int i = 0;
int l;
while (1)
{
printf("请输入长度\n");
scanf_s("%d", &l);
printf("请输入数组\n");
for (i; i < l; i++)
{
scanf_s("%d,", &str[i]);
}
printf("%d\n", max(str, i));
memset(str, 0, i * sizeof(int));
i = 0;
}
return 0;
int max(int* str, int l);
{
int max = 0; 
int sum = 0;
for (int i = 0; i < l; i++)
{
if (sum >= 0) 
sum += str[i];
else
sum = str[i]; 
if (sum > max)
max = sum;
}
return max;
}
}

猜你喜欢

转载自www.cnblogs.com/wangddd/p/11692497.html