用C语言输入10个整数把它们按从小到大的顺序排列起来冒泡排序,最后再读入一个整数K,并将K插入到该整数数列中,插入后的数列仍然按从小到大的顺序排列,请输出一个完整的程序
时间: 2024-12-15 14:14:32 浏览: 11
在C语言中,你可以使用冒泡排序算法对数字进行排序,然后通过循环找到合适的位置插入新元素。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 冒泡排序函数
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// 插入函数
void insertSorted(int arr[], int n, int key) {
int i;
for (i = n - 1; i >= 0 && arr[i] > key; i--) {
arr[i + 1] = arr[i];
}
arr[i + 1] = key;
}
int main() {
int num[10], i, k, newNum;
printf("Enter 10 integers: ");
for (i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
// 对数组进行冒泡排序
bubbleSort(num, 10);
printf("\nSorted array: \n");
for (i = 0; i < 10; i++) {
printf("%d ", num[i]);
}
printf("\nEnter a number to insert: ");
scanf("%d", &k);
// 获取新的数组长度并插入元素
newNum = 10; // 假设原始数组长度
insertSorted(num, newNum, k);
printf("\nArray after insertion: \n");
for (i = 0; i <= newNum; i++) {
printf("%d ", num[i]);
}
return 0;
}
```
阅读全文