C语言中,输入一个正整数n(0<n<9)和n个从小到大排好顺序的整数,再输入一个整数x,把x插入到这组数据中,使该数组仍然有序的代码
时间: 2024-02-06 14:09:23 浏览: 82
对任一正整数n,按从小到大的顺序输出所有不超过2^n-1的梅森数-C语言代码
以下是用C语言编写的解法:
```c
#include <stdio.h>
int main() {
int n, x, i, j;
int a[10];
printf("请输入正整数n(0<n<9):");
scanf("%d", &n);
printf("请输入%d个从小到大排好顺序的整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("请输入要插入的整数x:");
scanf("%d", &x);
// 从后往前遍历数组,找到x应该插入的位置
for (i = n - 1; i >= 0; i--) {
if (a[i] > x) {
a[i + 1] = a[i]; // 将a[i]后移一位
} else {
break; // 找到了x应该插入的位置,退出循环
}
}
// 将x插入到数组中
a[i + 1] = x;
// 输出插入后的结果
printf("插入后的数组为:");
for (i = 0; i <= n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
在程序中,我们先输入n和n个有序的整数,然后再输入要插入的整数x。接着,我们从后往前遍历数组,找到x应该插入的位置,然后将x插入到数组中,最后输出插入后的结果。
阅读全文