C语言程序设计-笔记9-函数与程序结构
C语言程序设计-笔记9-函数与程序结构
例10-1 有序表的增删查操作。首先输入一个无重复元素的、从小到大排列的有序表,并在屏幕上显示以下菜单(编号和选项),用户可以反复对该有序表进行插入、删除和查找操作,也可以选择结束。当用户输入编号1-3和相关参数时,将分别对该有序表进行插入、删除和查找操作,输入其他编号,则结束操作。
[1] Insert
[2] Delete
[3] Query
[Other option] End
#include
#define MAXN 100
int Count=0;
void select(int a[],int option,int value);
void input_array(int a[]);
void print_array(int a[]);
void insert(int a[],int value);
void remov(int a[],int value);
void query(int a[],int value);
int main(void)
int option,value,a[MAXN];
input_array(a);
printf("[1] Insert\n");
printf("[2] Delete\n");
printf("[3] Query\n");
printf("[Other option] End\n");
while(1)
{
printf("Input option:");
scanf("%d",&option);
if(option<1 || option>3)
{
break;
}
printf("Input an element:");
scanf("%d",&value);
select(a,option,value);
printf("\n");
}
printf("Thanks.");
return 0;
void print_array(int a[])
int i;
printf("The ordered array a is:");
for(i=0;i { if(i==Count-1) { printf("%d",a[i]); } else { printf("%d ",a[i]); } } void delet(int a[ ],int value) int i,index=-1; for(i=0;i { if(value==a[i]) { index=i; break; } } if(index==-1) { printf("Failed to find the data,deletion failed."); } else { for(i=index;i { a[i]=a[i+1]; } } Count--; print_array(a); void select(int a[],int option,int value) switch(option) { case 1: insert(a,value); break; case 2: delet(a,value); break; case 3: query(a,value); break; } void input_array(int a[]) int i; printf("Input the number of array elements:"); scanf("%d",&Count); printf("Input an ordered array element:"); for(i=0;i { scanf("%d",&a[i]); } void insert(int a[],int value) int i,j;