C 使用指针插入数组元素的程序。

问题

编写一个 C 程序,由用户在运行时将元素插入到数组中,插入后将结果显示在屏幕上。如果插入的元素大于数组的大小,那么,我们需要显示 Invalid Input。

解决方案

数组用于在一个名称下保存一组公共元素。

数组操作如下 -

  • 插入

  • 删除

  • 搜索

算法

参考一种在指针的帮助下将元素插入数组的算法。

步骤1:声明并读取元素的数量。

第二步:在运行时声明并读取数组大小。

第三步:输入数组元素。

第四步:声明一个指针变量。

第 5 步:在运行时动态分配内存。

第 6 步:输入应插入元素的位置。

步骤 7:在该位置插入新元素,右边的元素要移动一个位置。

示例

数组大小为:5

数组元素如下 -

1 2 3 4 5

插入新元素:9

在位置:4

输出如下 -

After insertion the array elements are:

1 2 3 9 4 5

示例

以下是在指针的帮助下将元素插入数组的 C 程序 -

#include<stdio.h>

#include<stdlib.h>

void insert(int n1, int *a, int len, int ele){

   int i;

   printf("Array elements after insertion is:\n");

   for(i=0;i<len-1;i++){

      printf("%d\n",*(a+i));

   }

   printf("%d\n",ele);

   for(i=len-1;i<n1;i++){

      printf("%d\n",*(a+i));

   }

}

int main(){

   int *a,n1,i,len,ele;

   printf("输入数组元素的大小:");

   scanf("%d",&n1);

   a=(int*)malloc(n1*sizeof(int));

   printf("enter the elements:\n");

   for(i=0;i<n1;i++){

      scanf("%d",a+i);

   }

   printf("enter the position where the element need to be insert:\n");

   scanf("%d",&len);

   if(len<=n1){

      printf("输入要插入的新元素:");

      scanf("%d",&ele);

      insert(n1,a,len,ele);

   } else {

      printf("Invalid Input");

   }

   return 0;

}

输出结果

执行上述程序时,它会产生以下输出 -

输入数组元素的大小:5

enter the elements:

1

3

5

7

2

enter the position where the element need to be insert:

5

输入要插入的新元素:9

Array elements after insertion are:

1

3

5

7

9

2

以上是 C 使用指针插入数组元素的程序。 的全部内容, 来源链接: utcz.com/z/357437.html

回到顶部