C语言:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
时间: 2023-11-11 21:01:51 浏览: 356
有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
思路:
1.定义一个数组,已经排好序。
2.输入一个数,判断它在数组中的位置。
3.将数组中该数后面的数全部向后移动一位。
4.将该数插入到数组中。
代码实现:
```c
#include <stdio.h>
int main()
{
int a[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; //已经排好序的数组
int i, j, k, num;
printf("请输入一个要插入的数:");
scanf("%d", &num);
for (i = 0; i < 10; i++) //查找插入位置
{
if (num < a[i])
{
for (j = 9; j >= i; j--) //移动数组元素
{
a[j + 1] = a[j];
}
a[i] = num; //插入该数
break;
}
}
for (k = 0; k < 11; k++) //输出新数组
{
printf("%d ", a[k]);
}
return 0;
}
```
阅读全文