有一个已经排好序的数组a[11]={1,4,6,9,11,16,19,33,40,96},要求c语言实现输入一个数后,按原来排序的规律将它插入数组中
时间: 2023-08-29 13:04:44 浏览: 91
Java程序员面试分类真题带解析.docx
5星 · 资源好评率100%
好的,您可以参考以下代码实现:
```c
#include <stdio.h>
int main() {
int a[11] = {1, 4, 6, 9, 11, 16, 19, 33, 40, 96};
int n, i, j;
printf("请输入一个数字:");
scanf("%d", &n);
for (i = 9; i >= 0; i--) {
if (a[i] > n) {
a[i + 1] = a[i];
} else {
break;
}
}
a[i + 1] = n;
printf("插入后的数组为:");
for (j = 0; j < 11; j++) {
printf("%d ", a[j]);
}
return 0;
}
```
代码说明:
1. 首先定义了一个排好序的数组`a`,和一个待插入的数字`n`。
2. 通过`scanf`函数获取用户输入的数字`n`。
3. 从数组的末尾开始遍历,如果当前元素大于待插入的数字`n`,则将当前元素后移一位,直到找到一个小于等于`n`的元素或者到达数组的开头。
4. 将`n`插入到空出的位置中。
5. 最后打印插入后的数组。
阅读全文