動態陣列初學

2021-10-25 04:02:52 字數 1511 閱讀 4288

要求:首先輸入乙個整數,決定了你要找的素數的範圍。然後動態分配出乙個陣列,進行素數篩。最後,根據需要輸出陣列中的素數(比如要求輸出某個範圍而不是整個陣列的素數都輸出)、統計在這個範圍內素數的個數。

#include

#include

intis_primer

(int b,

int arr)

;int

main()

printf

("searrch range:");

scanf

("%d %d"

,&b,

&c);

int b2 = b;

int b3 = b;

for(b;b<=c;b++)}

}for

(b3;b3)

count =

(c-b2)

-count+1;

printf

("count:");

printf

("%d\n"

,count);}

intis_primer

(int b,

int arr)

}return ret;

}

自我感覺:**過於繁雜,變數命名過多,可讀性差,判斷素數個數的**可以用函式表達,感覺可用指標優化但指標不夠熟練或者說不會用。雖然寫了出來但很爛。

小改進:用sqrt,引入計算素數個數的函式

#include

#include

#include

intfornum

(int b,

int i,

int c,

int arr)

;int

is_primer

(int b,

int arr)

;int

main()

printf

("searrch range:");

scanf

("%d %d"

,&b,

&c);

int b2 = b;

int b3 = b;

for(b3;b3)//count = (c-b2)-count+1;

printf

("count:");

printf

("%d\n"

,fornum

(b,b2,c,arr));

free

(arr);}

intis_primer

(int b,

int arr)

}return ret;

}int

fornum

(int b,

int i,

int c,

int arr)

}}return

(c-i)

-count;

}

也可將陣列內所有非素數改為0,隨後判斷輸入範圍內非0元素的個數並輸出。

C 初學 動態陣列類模板

動態陣列類模板 程式設計過程中用到了模板類 函式模板 運算子過載 建構函式 析構函式 動態記憶體分配等知識。理論上改模板能實現訪問任意型別 包括自定義 元素。標頭檔案1 stdafx.h ifndef stdafx h included define stdafx h included includ...

初學演算法 動態規劃之滾動陣列

魅力手鐲 描述 貝西去了購物中心的珠寶店,發現了乙個迷人的手鐲。當然,她想用n 1 中可能的最佳魅力來填充它 n 3402 可用的護身符。所提供列表中的每個咒語都有乙個權重wi 1 wi 400 乙個 可取性 因子di 1 di 100 最多可使用一次。貝西只能支援重量不超過m 1 的魅力手鐲 m ...

初學動態規劃

1 動態規劃定義 動態規劃 動態規則可用於解最優解的問題,其基本思想為把乙個大的問題分析小的子問題,並記錄每個子問題的結果,再通過這些子問題的解能解出最終的結果。應用於重疊子問題的問題。步驟 1 把乙個問題分解成好的子問題。2 對每個子問題求解並記錄下每個子問題的結果。例一 poj 2533 思路 ...