排序: void sort(int a,int n);
/对数组a进行排序,n为数组长度,在进行排序时需要用到两个数组元素的交换也可以再定义一个交换函数。
查找: int search(int a,int n,int k);
//k为待查找的值,函数有返回值,查找成功返回第一次出现的k值的下标,查找失败返回-1。
插入: int insert(int a,int n,int ij,int k);
//在数组a的i位置插入元素k,返回值为数组插入元素后的长度,数组的长度一定要能够容纳插入元素存放。
删除: int delete(int a,int n,int k);
//在数组a的中删除值为k的元素,删除成功返回值为原数组长度减1;删除失败返回数组原长度。
输出: void disp(int a,int n);
//输出数组a的元素,a的长度为n**
#include#include //清屏 void sort (int a[],int n); //排序 int search(int a[],int n,int k); //查找 int insert(int a[],int n,int i,int k); //插入 int delete(int a[],int n,int k); //删除 void disp(int a[],int n); //输出 //主函数 void main() { int i,n,xb,k,a[100],tt,t=0; //定义变量及数组为基本整型 printf("请输入个数:n"); scanf("%d",&n); printf("请输入%d个数:n",n); for(i=0;i printf("请输入你想做的操作 1 排序 2 查找 3 插入 4 刪除 5 輸出 0 結束 :n"); scanf("%d",&tt); switch(tt) { case 0: return 0; case 1: sort(a,n); break; case 2: system("cls"); printf("請輸入查找的值:"); scanf("%d",&k); xb=search(a,n,k); if(xb!=-1){ printf("查找成功,下標為%dn",xb); } else{ printf("查找失敗n"); } break; case 3: system("cls"); printf("請輸入插入的位置(下标),和插入的值,中间用回车隔开:n"); scanf("%d",&i); scanf("%d",&k); n=insert(a,n,i,k); printf("現在數組的長度是:%dn",n); break; case 4: //system("cls"); printf("請輸入删除的值:n"); scanf("%d",&k); n=delete(a,n,k); printf("現在數組的長度是:%dn",n); break; case 5: system("cls"); disp(a,n); break; default: printf("輸入有誤!n"); } } } void sort (int a[],int n) //排序 { int i,j,t; for(i=0;i a[j+1]) { t=a[j]; //利用中间变量实现两值互换 a[j]=a[j+1]; a[j+1]=t; } printf("排序已完成!n"); return 0; } int search(int a[],int n,int k) //查找 { int i,flag=0; for(i=0;i flag=1; k=i; break; } if(flag ==1) return k; else return -1; } int insert(int a[],int n,int i,int k) //插入 { int t=0,jishu=0,j,l; while(a[t++]!=-858993460) jishu++; //統計int數組型内元素的數量 if (i>jishu){printf("數組已滿 無法插入!") ; return -1;} else { for(j=jishu;j>i;j--){ a[j]=a[j-1]; } a[i]=k; } printf("已成功插入!n"); jishu=0,t=0; //重新开始计数 while(a[t++]!=-858993460) jishu++; return jishu; } int delete(int a[],int n,int k) //删除 { int flag=0,i,j,t,jishu; for(i=0;i if(a[i]==k){ flag=1; for(j=i;j printf("删除成功!n"); return jishu; } else { printf("删除失败!n"); return jishu; } } void disp(int a[],int n) //输出 { int i; printf("數組現在結果為:n"); for(i=0;i 运行结果: 初始给定值: 选择 5 输出查看结果: 查找 4 插入值 3 查看 插入后查看: 删除(重新测试的): 删除后查询 输入 0 输入其他字符情况:



