输入4个整数,要求按由大到小顺序输出。按照“如果第一个数小于第二个数就交换位置”的方法用C语言来写代码
时间: 2024-11-09 16:29:30 浏览: 16
在C语言中,你可以通过嵌套循环来实现这个功能。这里是一个简单的示例,它会遍历数组并检查每个元素是否大于前一个元素,如果是,则交换它们的位置。以下是相应的代码:
```c
#include <stdio.h>
void sort_descending(int arr[], int n) {
for (int i = 0; i < n - 1; i++) { // 遍历数组直到倒数第二个元素
for (int j = 0; j < n - i - 1; j++) { // 内层循环用于比较和交换
if (arr[j] < arr[j + 1]) { // 如果当前元素小于下一个元素
// 临时保存较小的元素
int temp = arr[j];
// 将较大的元素移动到前面
arr[j] = arr[j + 1];
// 将较小的元素移动回原位
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 3, 8, 2}; // 示例输入数组
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
sort_descending(arr, n);
printf("\nSorted in descending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
当你运行此程序,它将首先打印原始数组,然后输出按降序排列后的数组。
阅读全文