C语言有一个已经排好序的整型数组{1,4,6,9,11,25,31,46,83,100}。现输入一个数,要求按序将它插入数组中,并依序输出新数组。(注意,数组输出时每个数间隔一个空格)的代码
时间: 2023-10-27 11:07:02 浏览: 231
下面是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int array[] = {1, 4, 6, 9, 11, 25, 31, 46, 83, 100};
int n;
scanf("%d", &n);
int len = sizeof(array) / sizeof(int);
int i, j;
for (i = 0; i < len; i++) {
if (n < array[i]) {
for (j = len - 1; j >= i; j--) {
array[j + 1] = array[j];
}
array[i] = n;
break;
}
}
if (i == len) {
array[len] = n;
}
for (i = 0; i < len + 1; i++) {
printf("%d ", array[i]);
}
return 0;
}
```
代码思路:
1. 定义一个已经排好序的整型数组 array。
2. 从键盘输入一个整数 n。
3. 计算数组的长度 len。
4. 遍历数组,找到第一个大于输入数 n 的位置 i。
5. 将数组从 i 位置开始的元素都向后移动一个位置。
6. 在 i 位置插入输入数 n。
7. 如果输入数 n 大于或等于数组中的所有数,则将输入数 n 插入到数组的最后。
8. 依次输出新数组中的每个元素,每个元素后面跟一个空格。
阅读全文