例項1 1 最大子列和問題 20分

2021-10-23 18:28:01 字數 1175 閱讀 5117

在編寫**的時候遇到了乙個問題

#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。現要求你編寫程式,計算給定整數序列的最大子列和。本題旨在測試各種不同的演算法在各種資料情況下的表現。各組測試資料特點如下 輸入格式 輸入...