c语言随机三个数字从大到小排列
时间: 2024-10-12 12:00:37 浏览: 34
在C语言中,你可以使用`rand()`函数以及一些数组操作来生成并排序三个随机数。下面是一个简单的示例,它首先生成三个随机数,然后对它们进行降序排列:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
srand(time(0)); // 设置随机种子,保证每次运行结果不同
int numbers[3];
for (int i = 0; i < 3; i++) {
numbers[i] = rand() % 100 + 1; // 生成0-100之间的随机整数
}
// 排序数组(选择最小值放在第一个位置)
int minIndex = 0;
for (int i = 1; i < 3; i++) {
if (numbers[minIndex] > numbers[i]) {
minIndex = i;
}
}
swap(&numbers[0], &numbers[minIndex]);
// 再次查找剩余两个数中的最小值
minIndex = 1;
if (numbers[1] > numbers[2]) {
minIndex = 2;
}
swap(&numbers[0], &numbers[minIndex]);
printf("Sorted numbers are: %d, %d, %d\n", numbers[0], numbers[1], numbers[2]);
return 0;
}
```
这个程序首先生成三个随机数,然后找到其中最小的一个放在第一位。接着,再从剩下的两个数中找出最小的一个替换第二个位置,从而得到最大的数排在第一,其余两个按顺序排列。
阅读全文