C语言数组怎么删除一个区间的所有元素

比如我输入一个数组有9个数字 是 1 2 3 4 5 6 7 8 9然后想要删掉2-6得到1 7 8 9该怎么做

第1个回答  2018-06-25
#include"stdio.h"
int del(int *arr, int n, int s, int e){
int* p = arr;
int i;
for (i = 0 ; i < n; i++) {
if (arr[i] >= s && arr[i] <= e) {
}
else {
*p = arr[i];
p++;
}
}
return (p-arr);
}
void pt(int* arr, int n) {
int i;
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main(){ 
int arr[] = {1,2,3,4,5,6,7,8,9};
pt(arr, 9);
printf("After Delete\n");
pt(arr, del(arr, 9, 2, 6));
return 0;
}

本回答被网友采纳
第2个回答  2018-06-25
用for循环。然后把这些元素设置为0X0 比如:a[2]=0X0;
相似回答