用C语言写:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
时间: 2023-12-15 09:05:51 浏览: 85
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main()
{
int arr[100], n, i, num, pos;
// 读入数组元素个数
printf("Enter number of elements: ");
scanf("%d", &n);
// 读入已排序的数组
printf("Enter elements in ascending order:\n");
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
// 读入要插入的数
printf("Enter number to be inserted: ");
scanf("%d", &num);
// 找到插入位置
for (i = 0; i < n; i++)
{
if (num < arr[i])
{
pos = i;
break;
}
else
pos = n;
}
// 把元素后移
for (i = n; i > pos; i--)
arr[i] = arr[i - 1];
// 插入元素
arr[pos] = num;
// 输出插入后的数组
printf("Array after insertion:\n");
for (i = 0; i <= n; i++)
printf("%d ", arr[i]);
return 0;
}
```
程序的思路是先读入已排序的数组和要插入的数,然后遍历数组找到插入位置,接着把插入位置后面的元素依次后移一位,最后在插入位置处插入要插入的数。最后输出插入后的数组。
阅读全文