简单C语言输入一个一到九个整数n和一组n个有序整数再输入一个整数插入数据中,使该组数据有序
时间: 2024-09-28 12:06:57 浏览: 21
在C语言中,你可以使用`scanf`函数从用户那里获取输入,然后利用插入排序算法将输入的整数插入到已排序的数组中保持有序。以下是基本步骤的代码示例:
```c
#include <stdio.h>
void insertion_sort(int arr[], int n) {
int i, key, j;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
// 将大于key的元素向右移动
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key; // 插入关键值
}
}
int main() {
int n, i;
printf("Enter the number of elements (1-9): ");
scanf("%d", &n);
// 确保输入的n在范围1到9之间
if (n < 1 || n > 9) {
printf("Invalid input! Please enter a number between 1 and 9.\n");
return 1;
}
int arr[n];
printf("Enter %d sorted integers: ", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int new_num;
printf("Enter a new integer to insert: ");
scanf("%d", &new_num);
// 调用插入排序并插入新数
insertion_sort(arr, n);
arr[n] = new_num; // 插入新数
printf("Sorted array with the new element is: \n");
for (i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
return 0;
}