问题描述:
删除指定位置上的元素。
程序代码:
#include <stdio.h>
#define SIZE 100
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun157.c
*问题描述:删除指定位置上的元素
*作者:小臣小仁
*完成日期:2017年5月28日
*/
int deleteData(int [],int,int);
int main()
{
int i,n=10;//数据中实际有用元素
int locale;//删除locale位置数据
int a[SIZE]={1,5,8,11,13,18,22,28,37,68};
//判断是否超出数组有用数据的长度
do{
printf("Please enter the location you want to delete:");
scanf("%d",&locale);
}while(locale>n-1);
n=deleteData(a,n,locale);
for(i=0;i<n;i++)
printf(" %d",a[i]);
printf("\n");
return 0;
}
/*删除数据中指定位子上的数据元素*/
int deleteData(int arr[],int len,int loc)
{
int i=loc;
//在要删除的数据的位置上写入其后数据,进行覆盖
while(i<len-1)
{
arr[i]=arr[i+1];
i++;
}
//删除数据后,其大小的缩减
len--;
return len;//删除数组后有用数组长度
}
输出结果:
心得体会:
作为一个大学二的菜鸟,开始慢慢前进,多多少少感到有收获,由于水平有限,多多少少有错,望包涵