任务代码:
在指定位置删除值的操作:
#include <stdio.h>
#define SIZE 10
int deleteData(int array[],int len,int locate);//定义删除的数组,长度,删除数据的位置
int main()
{
int locate,i;
int n=10;//数组中实际有用的元素
int d[SIZE]={0,1,2,3,4,5,6,7,8,9};
printf("请输入你需要删除第几个数据:");
scanf("%d",&locate);
//删除locate处的数据
n=deleteData(d, n, locate);//d数组名作为实际参数传递
//重新打出数组
printf("删除数据后的数组为:\n");
for(i=0;i<n;i++)//这里的n已经改变
{
printf("%d ",d[i]);
}
printf("\n");
return 0;
}
int deleteData(int array[],int len,int locate)
{
int i;
for(i=locate;i<len-1;i++)//尤其注意,因为删除一个数据后,长度变短了一位所以len-1
{
array[i]=array[i+1];
}
//删除数据后数组大小缩减
len--;
return len;
}
在指定位置