在編寫**的時候遇到了乙個問題
#include
#include
intmaxsubsum
(int a,
int n)
;int
main()
max =
maxsubsum
(a[k]
,k);
printf
("%d"
,max)
;return0;
},依次向後求和,若發現當前所得的數列元素和為負,
則捨棄之前所有元素,重新計算*/
intmaxsubsum
(int a,
int n)
else
if(thissum > maxsum) maxsum = thissum;
}return maxsum;
}
我想利用c99的特性 動態的生成乙個陣列.然後再把陣列通過形參參入函式內
讓函式返回乙個最大子列和.但是在pta oj 上被評判為錯.當陣列大小超過100時
程式沒有返回正確答案. 我當時在想是不是陣列太大 導致記憶體作為形參傳入函式的時候
爆了記憶體
所以修改了** 利用指標的特性來完成
#include
#include
intmaxsubsum
(int a,
int n)
;int
main()
max =
maxsubsum
(a,k)
;printf
("%d"
,max)
;return0;
}int
maxsubsum
(int a,
int n)
else
if(thissum > maxsum) maxsum = thissum;
}return maxsum;
}
通過malloc分配了一塊記憶體 記憶體大小是輸入正整數k的n個int
不過還是沒有搞懂malloc 是怎麼分配成乙個陣列的.
int *a = (int )malloc(ksizeof(int))
這裡指向乙個int型別的位址
難道說k倍的int 就是有多少個陣列個數嗎?
例項1 1 最大子列和問題 (20 分)
例項1.1 最大子列和問題 20 分 給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組...
1 1 最大子列和問題 20分
給定k個整數組成的序列,連續子列 被定義為,其中 1 i j k。最大子列和 則被定義為所有連續子列元素的和中最大者。例如給定序列,其連續子列有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入第1行給出正整數...
例項1 1 最大子列和問題
給定 k 個整數組成的序列 連續子列 被定義為 其中1 i j k 最大子列和 則被定義為所有連續子列元素的和中的最大者。例如給定序列 其連續子列 有最大的和20。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入格式 輸入...