#include<stdio.h>
void insert(int *a, int *p){
int m,i,e;
printf("插入位置:(0<m<%d)",*p);
scanf("%d", &m);
printf("插入元素的值:");
scanf("%d", &e);
for(i = *p; i >= m ; --i)
a[i] = a[i - 1];
a[m-1] = e;
(*p)++;
}
void sort(int *a, int *p){
int i,j,temp;
for(i = 0; i<*p-1; ++i)
for(j = 0; j<*p-i-1; ++j){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
void delet(int *a, int *p){
int i,m;
printf("删除第几个元素:(0<m<%d)",*p);
scanf("%d", &m);
for(i = m; i <= *p; ++i)
a[i-1] = a[i];
(*p)--;
}
void input(int *a, int *p){
int m,i;
printf("输入元素个数");
scanf("%d",&m);
for(i = 0; i<m; ++i)
scanf("%d",&a[i]);
*p=m;
}
void display(int *a, int *p){
int i;
for(i = 0; i < *p; ++i)
printf("%5d",a[i]);
printf("\n");
}
void main( )
{
int a[10],n=0,m;
do{
printf("1,输入数组\n""2,插入数据\n""3,显示数组\n""4,删除数据\n""5,数组排序\n""0,退出\n");
scanf("%d",&m);
switch(m){
case 1:input(a,&n);
display(a,&n);
break;
case 2:insert(a,&n);
display(a,&n);
break;
case 3:display(a,&n);
break;
case 4:delet(a,&n);
display(a,&n);
break;
case 5:sort(a,&n);
display(a,&n);
break;
}
}while(m);
}
粗糙做了做 vc下可运行
温馨提示:答案为网友推荐,仅供参考