编译器:vs2010
#include<stdio.h> #include<stdlib.h> #define SIZE 7 //给要插入的元素留一定的空间 //函数声明 //函数输出 void print(int a[],int n); //函数插入 void insert(int a[],int pos,int num); //函数删除 int delarr(int a[],int len,int x); int main() { //初始化数组和变量 int x; int pos; int array[SIZE]={0}; int choice; printf("请输入六个数据[最后一个数据留给你要添加的数吧]\n"); for(int p=0;p<6;p++) { printf("请输入第%d/%d个数:",p+1,SIZE-1); scanf("%d",&array[p]); for(int j=0;j<p;j++) //查个重吧 while(array[p]==array[j]) { printf("您已输入过该数~\n请重新输入:"); scanf("%d",&array[p]); } } //选择要插入还是删除元素 printf("请选择 插入元素 OR 删除元素:\n"); printf("1.插入\t2.删除\n"); scanf("%d",&choice); switch(choice) { case 1: //在指定位置插入元素 printf("请输入待插入的元素值:"); scanf("%d",&x); printf("请输入插入位置(数组下标):"); scanf("%d",&pos); insert(array,pos,x); print(array,SIZE); break; case 2: //在指定位置删除元素 printf("请输入待删除的元素值:"); scanf("%d",&x); if(delarr(array,SIZE,x)) print(array,SIZE); else printf("数都没有,删啥?\n"); break; default: printf("ERROR!\n"); } system("pause"); return 0; } //函数定义 //函数输出 void print(int a[],int n) { int i; printf("数组为:"); for(i=0;i<n;i++) printf("%5d",a[i]); printf("\n"); } //函数插入 void insert(int a[],int pos,int num) { int i,j; for(i=SIZE;i>pos;i--) a[i-1]=a[i-2]; a[i]=num; } //函数删除 int delarr(int a[],int len,int x) { int i,j; int flag=1; //是否找到该元素,1为是,0为否 for(i=0;i<len && a[i]!=x;i++); if(i==len) flag=0; else { for(j=i;j<len-1;j++) a[j]=a[j+1]; } return flag; }