藍橋杯 演算法訓練 ALGO 79 刪除陣列零元素

2021-09-03 08:25:13 字數 923 閱讀 4687

演算法訓練 刪除陣列零元素

時間限制:1.0s 記憶體限制:512.0mb

從鍵盤讀入n個整數放入陣列中,編寫函式compactintegers,刪除陣列中所有值為0的元素,其後元素向陣列首端移動。注意,compactintegers函式需要接受陣列及其元素個數作為引數,函式返回值應為刪除操作執行後陣列的新元素個數。輸出刪除後陣列中元素的個數並依次輸出陣列元素。

樣例輸入: (輸入格式說明:5為輸入資料的個數,3 4 0 0 2 是以空格隔開的5個整數)

53 4 0 0 2

樣例輸出:(輸出格式說明:3為非零資料的個數,3 4 2 是以空格隔開的3個非零整數)

33 4 2

樣例輸入:

70 0 7 0 0 9 0

樣例輸出:

27 9

樣例輸入:

30 0 0

樣例輸出:

0

分析:本題規定了子函式的返回值,函式名,引數以及具體操作,剩下的就是我們去定義這個函式並且寫操作的具體**了。

要求刪除陣列中0元素,其後元素向陣列首端移動,這個很簡單。

值得注意的是,下一次判斷的時候,陣列長度要減一,迴圈索引i

ii也要減一。

因為0元素的下乙個元素前移了,如果i

ii

#include using namespace std;

int compactintegers(int *num, int n)

n--, i--;

} }return n;

}int main()

n = compactintegers(num, n);

cout << n << endl;

for(i = 0; i < n; i++)

return 0;

}

藍橋 ALGO 79 刪除陣列零元素

資源限制 時間限制 1.0s 記憶體限制 512.0mb 從鍵盤讀入n個整數放入陣列中,編寫函式compactintegers,刪除陣列中所有值為0的元素,其後元素向陣列首端移動。注意,compactintegers函式需要接受陣列及其元素個數作為引數,函式返回值應為刪除操作執行後陣列的新元素個數。...

藍橋杯 演算法訓練 ALGO12

問題描述 如果乙個序列滿足下面的性質,我們就將它稱為擺動序列 1.序列中的所有數都是不大於k的正整數 2.序列中至少有兩個數。3.序列中的數兩兩不相等 4.如果第i 1個數比第i 2個數大,則第i個數比第i 2個數小 如果第i 1個數比第i 2個數小,則第i個數比第i 2個數大。比如,當k 3時,有...

藍橋杯 演算法訓練 ALGO 57 刪除多餘括號

演算法訓練 刪除多餘括號 時間限制 1.0s 記憶體限制 512.0mb 問題描述 從鍵盤輸入乙個含有括號的四則運算表示式,要求去掉可能含有的多餘的括號,結果要保持原表示式中變數和運算子的相對位置不變,且與原表示式等價,不要求化簡。另外不考慮 用作正負號的情況,即輸入表示式不會出現 a 或 a 的情...