如何编写一个 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 语言数组插入元素示例中,下面的 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 循环的功能。

评论已关闭。