总代码
//该代码用c语言初步实现了数组的增删改查。
#include<stdio.h>
//函数声明
int* add_elem(int arry[],int site,int n,int length);
int* delete_elem(int arry[],int site,int length);
int* modify_elem(int arry[],int site,int n,int length);
void find_elem(int arry[],int site,int length);
//主函数
int main(){
int arry[6]={1,1,1,1,1,1};
int *arry_1;//为接收处理完的数组,若不返回可以不用指针。
int length=sizeof(arry)/sizeof(int);//求数组元素数
int i,site,n,num;
int flag = 1;
while(flag){
printf("请输入你想进行的操作\n1代表往数组中增添元素\n2代表删除数组中元素\n3代表修改数组元素\n4代表查找数组元素\n5结束操作\n");
scanf("%d",&num);
switch(num){
case 1:
printf("输入想要增加元素的位置和数字以空格分割\n");
scanf("%d %d",&site,&n);
arry_1 = add_elem(arry,site,n,length);
break;
case 2:
printf("请输入想要删除数字的位置\n");
scanf("%d",&site);
arry_1 = delete_elem(arry,site,length);
break;
case 3:
printf("请输入想要修改的位置和数字以空格分割\n");
scanf("%d %d",&site,&n);
arry_1 = modify_elem(arry,site,n,length);
break;
case 4:
printf("请输入你想查找元素的位置\n");
scanf("%d",&site);
find_elem(arry,site,length);
break;
case 5:
flag = 0;
break;
default:
printf("请规范操作");
}
}
for (i=0;i<length;i++){
printf("%d ",*(arry_1+i));
}
return 0;
}
//插入模块(按位置插入)
int* add_elem(int arry[],int site,int n,int length){
if(site<1||site>length){
printf("ERROR\n");
}
else{
int i,j;
for (j=length-1;j>=site-1;j--){
arry[j+1]=arry[j];
}
arry[site-1] = n;
return arry;
}
}
//删除模块(按位置删除)
int* delete_elem(int arry[],int site,int length){
if(site<1||site>length){
printf("ERROR\n");
}
else{
int i,j;
for (j=site-1;j<length-1;j++){
arry[j]=arry[j+1];
}
arry[length-1] = 0;
return arry;
}
}
//修改模块(按位置修改)
int* modify_elem(int arry[],int site,int n,int length){
if(site<1||site>length){
printf("ERROR\n");
}
else{
arry[site-1] = n;
return arry;
}
}
//查找模块(按位置查找)
void find_elem(int arry[],int site,int length){
if(site<1||site>length){
printf("ERROR\n");
}
else{
int n;
n = arry[site-1];
printf("%d\n",n);
}
}