c语言已知从小到大排列的5个数(38,100,312,531,812),再输入一个数,要求按原来的规律将它插入该数组中。
时间: 2023-08-16 18:06:58 浏览: 61
python 有一个已经排好序的数组 现输入一个数,要求按原来的规律将它插入数组中 (示例)
5星 · 资源好评率100%
可以采用插入排序的思想,将要插入的数依次与数组中的数比较,找到第一个比它大的数的位置,然后将该位置后面的数全部向后移动一位,最后将要插入的数放到该位置。
下面是具体实现的代码:
```c
#include <stdio.h>
int main() {
int arr[6] = {38, 100, 312, 531, 812};
int num, i, j;
printf("请输入要插入的数:");
scanf("%d", &num);
// 找到第一个比它大的数的位置
for (i = 0; i < 5; i++) {
if (num < arr[i]) {
break;
}
}
// 将该位置后面的数全部向后移动一位
for (j = 4; j >= i; j--) {
arr[j+1] = arr[j];
}
// 将要插入的数放到该位置
arr[i] = num;
// 输出结果
printf("插入后的数组为:");
for (i = 0; i < 6; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行结果如下:
```
请输入要插入的数:200
插入后的数组为:38 100 200 312 531 812
```
阅读全文