因為C語言數組的連續性,導致其對元素的增添比較不方便。
如何刪除一個元素?
idea: 使用for循環將后一個元素值賦給前一元素,以達到覆蓋效果。但最后一位數將重復兩次。可以考慮對length進行操作達到控制輸出的目的。
tips: 有時候剩下的多余數字位能夠留下位置方便我們添加自己的元素。
core codes:
//給定數字num,在數組a[]里面找到比num小的數據並刪除它們。
scanf("%f", &num);
for(int j = 0; j < size; j++) {
if( a[j] < num ) {
size = size - 1; //將代表數組大小的變量size縮小1
for(x = j; x < size; x++) { //進行向前覆蓋操作
a[x] = a [x + 1];
}
j--; //這一步十分重要!因為向前覆蓋之后,現在的j位已經是后面一位數了。
} //所以在進行下次循環之前需要將j回退一位重新判斷!
}