写一个主调函数,调用插入、删除、查找三个函数

求各位大神帮忙看一下,怎么编写主调函数啊?插入删除查找我写出来了(如图),第一个插入函数好像有点错误,运行结果错了一点点,能帮忙指出错误吗?谢谢!

img


#include"stdio.h"
void main ()
{
int a[10],i,k,x;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入插入位置k:\n");
scanf("%d",&k);
printf("请输入插入的数据元素x:\n");
scanf("%d",&x);
for(i=8;i>=k;i--)
a[i+1]=a[i];
a[k]=x;
printf("请输出插入后数组中的数据元素:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}

img


#include"stdio.h"
void main ()
{
int a[10],i,j;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入删除的位置j:\n");
scanf("%d",&j);
for(i=j;i<9;i++)
a[i-1]=a[i];
a[9]=0;
printf("请输出删除后数组中的数据元素:\n");
for(i=0;i<8;i++)
printf("%d ",a[i]);
printf("\n");
}

img


#include<stdio.h>
void main ()
{
int a[10],i,n;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入要查找的数字n:\n");
scanf("%d",&n);
for(i=0;i<9;i++)
{
if(a[i]==n){
printf("该数在数组中所处的位置是第%d个数字\n",i+1);
continue;}
else if(i==9)
printf("没有找到!\n");

}

}

你最好贴源代码,还能给改一改

for循环条件改为i>=k,位置k的元素也要后移,这样覆盖k位置的时候才不会丢失数据

第一个插入函数已改正,求解怎么写主调函数,调用插入,删除,查找三个函数,谢谢各位伙伴儿!

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int inx;


void insert(){
  int a[10],i,k,x;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入插入位置k:\n");
scanf("%d",&k);
printf("请输入插入的数据元素x:\n");
scanf("%d",&x);
for(i=8;i>=k;i--)
a[i+1]=a[i];
a[k]=x;
printf("请输出插入后数组中的数据元素:\n");
for(i=0;i<10;i++)
printf("%d \n",a[i]);
}

void deleted(){
      int a[10],i,j;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入删除的位置j:\n");
scanf("%d",&j);
for(i=j;i<9;i++)
a[i-1]=a[i];
a[9]=0;
printf("请输出删除后数组中的数据元素:\n");
for(i=0;i<8;i++)
printf("%d ",a[i]);
printf("\n");

}

void look(){
int a[10],i,n;
printf("请输入9个数据元素:\n");
for(i=0;i<9;i++)
scanf("%d",&a[i]);
printf("请输出数组中的元素:\n");
for(i=0;i<9;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入要查找的数字n:\n");
scanf("%d",&n);
for(i=0;i<9;i++)
{
if(a[i]==n){
printf("该数在数组中所处的位置是第%d个数字\n",i+1);
continue;}
else if(i==9)
printf("没有找到!\n");
 

}

}

void main(){
     

loop: printf("请输入对应的数字执行选项\n");
printf("1.插入\n2.删除\n3.查找\n");
scanf("%d",&inx);
if(inx<0||inx>3){
 printf("输入错误,请重新输入\n");
       system("pause");
 system("cls");
 goto loop;

}

switch(inx){
case 1: insert();
      break;
case 2:deleted();
      break;
case 3:look();
      break;
}
system("pause");
 system("cls");
 goto loop;

}



思路大概就这样,具体细节你自己去优化和处理