问题
在编写动态规划问题时,运行程序出现题目上的问题。
程序代码如下:
#include <iostream>
using namespace std;
int MaxSubArray(int *,int);
int main(){
int array[8]={1,-2,3,10,-4,7,2,-5};
int maxSum = MaxSubArray(array,8);
cout<<maxSum;
return 0;
}
int MaxSubArray(int *a,int n){
int currSum = 0;
int maxSum = a[0];
for(int j=0; j<n; j++){
if(currSum >= 0){
currSum += a[j];
}
else{
currSum = a[j];
}
if(maxSum < currSum){
maxSum = currSum;
}
}
return maxSum;
}
解决
但是,当把main函数中的cout函数加上endl;换行后出现如下的结果:
结果是正确的,但是关于cout<<maxSum; 和 cout<<maxSum<<endl;
之间的区别,还是不了解。