设计一个算法,依次输入三个数x,y,z,然后对其进行排序,并按从大到小的顺序输出,写出相应c程序
时间: 2024-09-20 16:12:55 浏览: 68
设计一个简单的C程序来实现这个功能,我们可以使用选择排序法,它是一种简单直观的排序算法。下面是一个示例程序:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; ++i) {
// 找到未排序部分的最大元素并交换位置
int maxIndex = i;
for (int j = i + 1; j < n; ++j) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
swap(&arr[i], &arr[maxIndex]);
}
}
int main() {
int x, y, z;
printf("请输入三个整数: ");
scanf("%d %d %d", &x, &y, &z);
int numbers[3] = {x, y, z}; // 存储输入的数组
// 对数组进行排序
selectionSort(numbers, 3);
// 输出排序后的数组(从大到小)
printf("排序后的数组(从大到小): ");
for (int i = 0; i < 3; ++i) {
printf("%d ", numbers[i]);
}
return 0;
}
```
在这个程序中,我们首先定义了一个`swap`函数用于交换两个数,接着实现了选择排序算法`selectionSort`。在`main`函数中,接收用户输入的三个数字,存储在一个数组中,然后对数组进行排序并输出。
阅读全文