有一个已排好序的数组,要求输入一个数后,按原来顺序的规律将他插入数组中
时间: 2023-12-01 10:40:06 浏览: 130
这个程序实现的是在一个已排好序的数组中插入一个数,并保持数组的有序性。具体实现方法是先遍历数组找到插入位置,然后从数组末尾开始将插入位置之后的元素依次后移一位,最后将要插入的数放入插入位置。需要注意的是,后移数组中的元素时需要从最后一个元素开始移动,不能从第一个元素开始移动,这样会覆盖元素本身的值。以下是该程序的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int a[10];
int i, j;
int n;
printf("Please enter a sorted array:\n");
for (i = 0; i < 9; i++) {
scanf_s("%d", &a[i]);
}
printf("Please enter a number:\n");
scanf_s("%d", &n);
for (i = 0; i < 9; i++) {
if (n < a[i]) {
for (j = 9; j > i; j--) {
a[j] = a[j-1];
}
a[i] = n;
break;
}
}
if (i == 9) {
a[9] = n;
}
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
system("pause");
return 0;
}
```
阅读全文