从键盘输入3个整数,按照从大到小顺序输出
时间: 2024-11-29 09:33:59 浏览: 0
06 java从键盘输入三个整数,实现从小到大排序.docx
要从键盘输入三个整数并按照从大到小的顺序输出,你可以使用`scanf`函数获取用户的输入,然后利用数组或变量存储这些数字,再用适当的排序算法(如选择排序、冒泡排序或快速排序的降序版本)对它们进行排列。这里我会提供一种简单的解决方案,使用选择排序(因为它易于理解):
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void selection_sort_descending(int arr[], int n) {
for (int i = 0; i < n - 1; ++i) {
int max_index = i;
for (int j = i + 1; j < n; ++j) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
swap(&arr[i], &arr[max_index]);
}
}
int main() {
int num1, num2, num3;
printf("Enter three integers: ");
scanf("%d %d %d", &num1, &num2, &num3);
// Assuming num1 is the smallest initially, store it last
int numbers[] = {num1, num2, num3};
selection_sort_descending(numbers, sizeof(numbers) / sizeof(numbers[0]));
printf("Numbers in descending order: ");
for (int i = 0; i < 3; ++i) {
printf("%d ", numbers[i]);
}
return 0;
}
```
在这个代码中,我们首先读取三个整数,然后创建一个临时数组`numbers`并将它们存储在那里。接着,我们调用`selection_sort_descending`函数对这个数组进行降序排序,最后打印排序后的结果。
阅读全文