用c语言编写程序实现:输入10个数据,按从小到大排序,并显示排序结果。然后再输入一个数,插入数组其中,要求插入后仍然有序,只进行一次排序
时间: 2024-06-10 15:05:38 浏览: 66
好的,我知道了,下面是 c 语言实现代码:
```c
#include <stdio.h>
int main() {
int nums[11];
int i, j, temp, insertedNum;
// 输入 10 个数字
printf("请输入 10 个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 冒泡排序
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (nums[j] > nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
// 显示排序结果
printf("排序后的结果是:\n");
for (i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
// 输入要插入的数字
printf("请输入要插入的数字:\n");
scanf("%d", &insertedNum);
// 插入数字
for (i = 9; i >= 0; i--) {
if (nums[i] > insertedNum) {
nums[i + 1] = nums[i];
} else {
break;
}
}
nums[i + 1] = insertedNum;
// 显示插入后的结果
printf("插入数字 %d 后的结果是:\n", insertedNum);
for (i = 0; i < 11; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
通过冒泡排序,我们将输入的 10 个数字进行了排序。然后我们输入一个数字,将其插入数组中,插入后再次排序。为了使插入后仍然有序,我们只需要将新数字插入到第一个比它大的数字前面即可,由于数组已经有序,只需要遍历一遍即可找到正确的位置。
阅读全文