結對程式設計之陣列長度要求和大數溢位

2022-06-02 17:27:09 字數 1348 閱讀 5475

1.題目:

返回乙個整數陣列中最大子陣列的和。

2.要求:

1)要求程式必須能處理1000個元素;

2)每個元素都是int32型別的。

3.設計思路:

處理1000個元素時讓使用者自己輸入想要的陣列長度,看看執行時出處理時間的長短,再在源程式中改善這一問題。

處理大數溢位時,由於隨機函式生成的數不算太大,我們盡量讓其最終存入陣列的元素接近最大範圍,進而求和時才可能出現大數溢位的情況。

4.源**:

1 #include2 #include3

using

namespace

std;

4 #include 5 #include 6

#define max 100000

7int

main()822

23for(int l=1;l1;l++)

2433

else

34 m=m+a[j];35}

36 b[n]=m;

37 m=0

;38 n=n+1;39

}40}41

int max=b[0

];42

for(i=1;i)

4347

/*for(i=0;i4853}

54m=m+1;

55int r=k;

56for(int j=0;j57

64if(m==0&&r>0&&j!=k-1)

6569

if(m==0&&r==0&&t==k)

7074}*/

75 cout<

76 cout<

該陣列中的最大子陣列的和為:

"77/*

cout<

78m=m-1;

79if(t==0)

8083

for(i=m;i84

87for(i=0;i88

cout

89return

0;

90 }

5.結果截圖:

6.心得體會:

本次重點在於大數溢位的解決,我們首次實現大數溢位時多次出現程式異常關閉的情況,即使可以執行時也不提示錯誤。對於這一點的解決,我們想到了陣列元素隨機生成過大時則重新生成,也可以對結果進行判斷,主動提示錯誤進而解決。但我們對於真正解決大數溢位還沒有具體的解決方案,這算是我們的不足吧,日後一定多多注意這一點。

C 陣列長度

初學c 到陣列的時候想手動寫一下迴圈輸出陣列內容的簡單迴圈,int arrayint 1,2,3,4,5 for size t i 0 i 結果發現輸出內容不對,i的值遠遠比size大,於是查資料了解一下sizeof是什麼作用 sizeof是乙個操作符 operator 其作用是返回乙個物件或型別所...

求陣列長度

c 求陣列長度為 int arr length sizeof arr sizeof arr 0 為了方便使用,在c語言中常定義巨集來求陣列長度 define arr len array,length 使用時,直接呼叫巨集函式即可,如 int arr int len arr len arr,len 此...

C 求陣列長度

c c 中沒有提供直接獲取陣列長度的函式,對於存放字串的字元陣列提供了乙個strlen函式獲取長度,那麼對於其他型別的陣列如何獲取他們的長度呢?其中一種方法是使用sizeof array sizeof array 0 在c語言中習慣上在 使用時都把它定義成乙個巨集,比如 define get arr...