C语言不排序数组,实现降序打印
时间: 2024-03-05 11:49:53 浏览: 21
好的,您可以通过以下代码实现不排序数组的降序打印:
```c
#include <stdio.h>
int main() {
int arr[] = {10, 5, 8, 15, 20};
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
int i, j, temp;
// 冒泡排序
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 降序打印
printf("降序排列:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该代码使用冒泡排序对数组进行排序,然后再按照降序打印数组元素。
相关问题
C语言如何将数组内元素降序排序
C语言可以使用多种排序算法对数组内的元素进行排序,其中比较常用的有冒泡排序、插入排序、快速排序等。以下是一个使用冒泡排序对数组内元素进行降序排序的示例代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
bubbleSort(arr, n);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该示例中使用了冒泡排序算法,该算法的基本思想是通过不断交换相邻的元素,将最大的元素逐渐“浮”到数组的顶部,具体实现中,每次比较相邻的元素,如果前一个元素比后一个元素小,则交换这两个元素的位置。这样一轮比较后,最大的元素就会被“浮”到数组的顶部。重复执行这个过程,直到所有元素都被排序。由于我们要实现降序排序,因此在比较相邻元素的时候,需要将比较的顺序反过来,即将 `<` 改成 `>`,这样就可以实现降序排序。
c语言 编程对数组a按降序排序
您好,感谢您使用ChitGPT进行对话。
针对您的问题,建议使用冒泡排序法来对数组a进行降序排序。具体实现方法如下:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] < arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {3, 5, 1, 9, 8, 6, 7, 2, 4};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf("原始数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
bubbleSort(arr, n);
printf("降序排序后的数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,我们定义了一个bubbleSort()函数来实现冒泡排序算法,然后在主程序中调用该函数对给定的数组a进行排序,并输出结果。