C语言。请应用数组存储用户输入的10个整数,编写算法将该数组按照从小到大的顺序排列好。用户再输入1个整 数,编写代码把它插入原数列中,要求仍然保持从小到大有序。 编写程序时应考虑到所插入数的各种可能性(比原来所有的数都小;比原来所有的数都大;在最大数和最 小数之间)。 输入格式: 请在一行中输入10整数,数据间以空格为间隔。 再在一行中输入1个待插入的整数。 输出格式: 将插入前后排好的有序序列分别在一行内输出,每个数的显示格式:占3位,右对齐。
时间: 2024-02-11 17:09:21 浏览: 81
以下是C语言的代码实现:
```c
#include <stdio.h>
#define SIZE 10
int main() {
int arr[SIZE], i, j, insert_num, flag = 0;
// 用户输入10个整数
printf("请输入10个整数:\n");
for (i = 0; i < SIZE; i++) {
scanf("%d", &arr[i]);
}
// 插入排序
printf("请输入待插入的整数:\n");
scanf("%d", &insert_num);
for (i = SIZE - 1; i >= 0; i--) {
if (insert_num < arr[i]) {
arr[i + 1] = arr[i];
} else {
arr[i + 1] = insert_num;
flag = 1;
break;
}
}
if (flag == 0) {
arr[0] = insert_num;
}
// 输出排序后的数组
printf("排序后的数组为:\n");
for (i = 0; i < SIZE + 1; i++) {
printf("%3d", arr[i]);
}
return 0;
}
```
程序先使用插入排序算法对输入的数组进行排序,然后再根据待插入的数的大小插入到数组中。如果待插入的数比所有数都小,就插入到数组开头。如果待插入的数比所有数都大,就插入到数组末尾。最后输出排序后的数组。
阅读全文