已有一个排好的序列输入一个数插入该序列中使之人保持有序,用c语言怎么编
时间: 2023-05-19 12:00:56 浏览: 68
以下是一个简单的C语言程序,可以实现将一个数插入已排好序的序列中,使之仍然保持有序:
```c
#include <stdio.h>
int main() {
int n, i, j, temp, num;
int a[100];
printf("请输入序列长度:");
scanf("%d", &n);
printf("请输入已排好序的序列:");
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("请输入要插入的数:");
scanf("%d", &num);
// 在已排好序的序列中找到插入位置
for (i = 0; i < n; i++) {
if (num < a[i]) {
break;
}
}
// 将插入位置后面的数都往后移一位
for (j = n; j > i; j--) {
a[j] = a[j-1];
}
// 将要插入的数插入到正确的位置
a[i] = num;
// 输出新的序列
printf("插入后的序列为:");
for (i = 0; i <= n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
这个程序首先要求用户输入序列的长度和已排好序的序列,然后再输入要插入的数。程序会在已排好序的序列中找到插入位置,然后将插入位置后面的数都往后移一位,最后将要插入的数插入到正确的位置。最终输出新的序列。