C语言实现有 N个数已按由小到大的顺序排好,要求输入一个数, 把它插入到原有序列中,而且仍然保持有序。不使用函数
时间: 2024-04-29 17:21:25 浏览: 13
以下是C语言实现代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE], n, i, num, pos;
// 输入有序序列
printf("Enter the size of the array: ");
scanf("%d", &n);
printf("Enter the elements in ascending order: ");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输入待插入的数
printf("Enter the number to be inserted: ");
scanf("%d", &num);
// 在数组中找到插入位置
for (i = 0; i < n; i++) {
if (num < arr[i]) {
pos = i;
break;
}
}
// 插入数,并移动后面的数
for (i = n; i > pos; i--) {
arr[i] = arr[i - 1];
}
arr[pos] = num;
// 输出插入后的数组
printf("Array after insertion: ");
for (i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
代码思路:
1. 输入有序序列和待插入的数;
2. 在数组中找到插入位置;
3. 插入数,并移动后面的数;
4. 输出插入后的数组。