用c语言编写程序:输入一个正整数n(0<n<9)和n个从小到大排好顺序的整数,再输入一个整数x,把x插入到这组数据中,使该组数据仍然有序
时间: 2024-05-07 20:16:13 浏览: 105
好的,这是一个关于插入排序的问题。以下是代码实现:
```
#include <stdio.h>
int main() {
int n, x, i, j;
int a[10];
printf("请输入一个正整数n(0<n<9):\n");
scanf("%d", &n);
printf("请依次输入%d个从小到大排好顺序的整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("请输入一个整数x:\n");
scanf("%d", &x);
for (i = 0; i < n; i++) {
if (x < a[i]) {
for (j = n-1; j >= i; j--) {
a[j+1] = a[j];
}
a[i] = x;
break;
}
}
if (i == n) { // x比所有数都大,插入到末尾
a[n] = x;
}
printf("插入后的数组为:\n");
for (i = 0; i <= n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
当然,这只是一种实现方法,还有其他的插入排序算法可以用。
阅读全文