C 语言在数组中插入元素的程序

如何编写一个 C 程序,使用 For 循环和 While 循环在用户指定的 C 语言数组位置插入元素?

C 语言使用 For 循环在数组中插入元素的程序

此程序允许用户输入数组大小、数组元素、插入位置和插入值。程序使用 For 循环将用户指定的值或元素插入到数组中的指定位置。

#include <stdio.h>
 
int main()
{
  int Array[10], Position, i, Number, Value;
 
  printf("\nPlease Enter Number of elements in an array\n");
  scanf("%d", &Number);
 
  printf("\nPlease Enter %d elements of an Array \n", Number);
  for (i = 0; i < Number; i++)
   {
     scanf("%d", &Array[i]);
   }     
 
  printf("\nPlease Enter the location of a Element you want to insert\n");
  scanf("%d", &Position);
 
  printf("\nPlease Enter the value of an Array Emenent to insert\n");
  scanf("%d", &Value);
 
  for (i = Number - 1; i >= Position - 1; i--)
   {
	     Array[i+1] = Array[i];
   }
  Array[Position-1] = Value;
  
 printf("\n Final Array after Inserting an  Elemnt is:\n");
 for (i = 0; i <= Number; i++)
  {
 	printf("%d\t", Array[i]);
  }     
 
 return 0;
}
C program to insert an element in an array using For Loop

在这个 C 语言数组插入元素示例中,下面的 for 循环会遍历 Array[3] 数组中的每个单元格。for 循环中的条件(i < Number)确保编译器不会超出数组大小。否则,数组将溢出。

请参考 数组 文章来理解数组大小、索引位置等概念。

其中的 scanf 语句会将用户输入的值存储为数组元素。例如 a[0],a[1],a[2]

下一个 C 语言 printf 语句会提示用户输入插入新元素的位置。scanf 语句会将用户输入的值赋给 Position 变量。

下面的 printf 语句允许用户输入要插入到用户定义位置的值。scanf 语句将其赋给 Value 变量。

从上面 C 语言在数组中插入元素的示例截图可以看出:

Size = 4,数组元素为 {10, 20, 30, 40}。这意味着:
Arr[0] = 10
Arr[1] = 20
Arr[2] = 30
Arr[3] = 40

插入元素的位置 = 2,用户输入的值是 89

For 循环 – 第一次迭代
i = Number–1,即 i 初始化为 3
i = 3,position = 2

For 循环内的条件 (i >= Position – 1) 为 True,因为 (3 大于 1)。
Array[i+1] = Array[i];
Array[4] = Array[3]
Array[4] = 40

该语句执行后,由于我们在 For 循环中使用了递减运算符,i 将递减为 1。

第二次迭代:递减后,i 变为 2。所以,i = 2,position = 2。
For 循环内的条件 (i >= Position – 1) 为 True,因为 (2 大于 1)。
Array[3] = Array[2] = 30

第三次迭代:递减后,i 的值为 1。所以,i = 1,position = 2。
For 循环内的条件 (i >= Position – 1) 为 True,因为 (1 等于 1)。
Array[2] = Array[1] = 20

递减后,i 变为 0。这意味着 For 循环内的条件将失败。因此,C 语言 编译器 将退出 for 循环。

C 语言在数组中插入元素的程序执行后的最终数组是:Array[4] = {10, 20, 20, 30, 40}。

现在,我们需要在位置 2 插入新元素。下面的语句将完成此操作:
Array[Position-1] = Value;
Array[2-1] = 89;

接下来,for 循环:

for (i = 0; i <= Number; i++)
  {
 	printf("%d\t", Array[i]);
  }

它将遍历数组中的所有元素,如上所述,并通过 printf 语句显示 Array[i] 数组中的值。

C 语言使用 While 循环在数组中插入元素的程序

程序 允许用户输入数组大小、项、元素位置和元素值。我们使用 While 循环将值插入到用户指定的数组位置。

#include <stdio.h>
 
int main()
{
  int Array[10], Position, i, Number, Value;
 
  printf("\nPlease Enter Number of elements\n");
  scanf("%d", &Number);
 
  printf("\nPlease Enter %d elements \n", Number);
  for (i = 0; i < Number; i++)
   {
     scanf("%d", &Array[i]);
   }     
 
  printf("\nPlease Enter the location of a Element you want to insert\n");
  scanf("%d", &Position);
 
  printf("\nPlease Enter the value to insert\n");
  scanf("%d", &Value);
 
  i = Number - 1;
  while(i >= Position - 1)
   {
	 Array[i+1] = Array[i];
	 i--;
   }
 Array[Position-1] = Value;
  
 printf("\n Final after Inserting an  Element is:\n");
 for (i = 0; i <= Number; i++)
  {
 	printf("%d\t", Array[i]);
  }     
 
 return 0;
}

我们只是将 For 循环替换为 While 循环,但其功能与上面在数组中插入元素的示例程序相同。请参考 C 语言 While 循环 文章以了解 While 循环的功能。

Program to insert an Element in an Array using While Loop

评论已关闭。