當前位置:編程學習大全網 - 編程語言 - c語言:編程實現在壹維數組中查找、插入和刪除壹個元素的操作。

c語言:編程實現在壹維數組中查找、插入和刪除壹個元素的操作。

#include<stdio.h>

#define MAX 50

int insert(int a[],int n,int i,int x)

{

int j;

if(n+1>MAX)

printf("無插入空間\n");? //數組只能存MAX個數

else if(i<1||i>n+1)

printf("插入位置非法\n"); //插入位置的範圍為1..n+1

else

{

for(j=n-1;j>i-2;j--)

a[j+1]=a[j]; //將數組中i位置及其後面的數,依次向後移動壹格

a[i-1]=x;? //在i位置插入x

n++;

}

return n; //返回當前數組大小

}

int del(int a[],int n,int i)

{

int j;

if(i<1||i>n)

printf("刪除位置非法\n");

else

{

for(j=i-1;j<n-1;j++)

a[j] = a[j+1];

n--;

}

return n;

}

int search(int a[],int n,int x)

{

int i;

for(i=0;i<n;i++)

{

if(a[i]==x)

return i+1;

}

return -1;

}

void printArray(int a[],int n)

{

int i;

for(i=0;;i++)

{

if(i==n-1)

{

printf("%d\n",a[i]);

break;

}

printf("%d ",a[i]);

}

}

void main()

{

int n,i,a[MAX];

int index,x;

printf("輸入數組中的元素個數\n");

scanf("%d",&n);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

printf("請輸入要插入的位置和插入的數\n");

scanf("%d %d",&index,&x);?

n = insert(a,n,index,x);

printArray(a,n);

printf("請輸入要刪除元素的位置\n");

scanf("%d",&index);

n = del(a,n,index);

printArray(a,n);

printf("請輸入要查詢的元素\n");

scanf("%d",&x);

i = search(a,n,x);

if(i!=-1)

printf("%d的位置:%d\n",x,i);

else

printf("未找到%d\n",x);

}

望采納~

  • 上一篇:誰有彩電CPU,8873CSCNG6PR6各腳功能電壓
  • 下一篇:幼兒園小班下學期美術教案《彩色的房子》含反思
  • copyright 2024編程學習大全網