#include <stdio.h>
#define Maxsize 40
int DelArray(int array[],int *last,int i,int k) {
int j;
if(i < 0 || k < 0) {
printf("给出的起始位置及删除个数不合法\n");
return 1;
}
if (i > *last) {
printf("越界,删除失败\n");
return 1;
}
if (i + k - 2 >= *last) {
*last = i -2;
return 0;
}
for(j = i -1; j + k <= *last; j++)
array[j] = array[j+k];
*last -= k;
return 0;
}
int main()
{
int array[Maxsize], last, i, j, k; //array:数组,last:数组最大下标,j:循环变量
printf("请输入数组元素个数\n");
scanf("%d",&last);
last--;
printf("请输入数组\n");
for(j = 0;j <= last;j++)
scanf("%d",&array[j]);
printf("请输入删除起始位置及个数\n");
scanf("%d%d",&i,&k);
DelArray(array,&last,i,k);
printf("输出删除处理后的数组\n");
for(j = 0;j <= last;j++)
printf("%d ",array[j]);
printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考