已经排序好的数组,再输入一个数怎么从大到小排序输出
时间: 2024-05-01 18:17:26 浏览: 11
你可以使用插入排序算法,将新输入的数插入已排序好的数组中,然后再次对整个数组进行排序。以下是示例代码:
```
#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;
while (j >= 0 && arr[j] < key) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = key;
}
}
int main() {
int n, i, num;
printf("Enter the size of array: ");
scanf("%d", &n);
int arr[n+1]; // Array with space for one extra element
printf("Enter the sorted array: ");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("Enter the new number: ");
scanf("%d", &num);
arr[n] = num; // Insert the new number at the end of array
insertion_sort(arr, n+1);
printf("Sorted array in descending order: ");
for (i = 0; i < n+1; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```