① 用c语言随机生成10个1-100之间的随机整数并将其存放在数组中,按照降序进行排序,并计算其平均值,最大值和最小值
时间: 2024-12-25 10:25:18 浏览: 2
在C语言中,你可以使用stdlib.h库中的rand()函数来生成随机数,time()函数来设置随机数种子,以及标准输入输出库stdio.h来进行数组操作。以下是一个简单的示例程序,实现了上述需求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void sort_and_calculate(int arr[], int n) {
// 首先生成10个1到100之间的随机数并存储在数组中
for (int i = 0; i < 10; ++i) {
arr[i] = rand() % 100 + 1;
}
// 设置随机数种子,防止每次运行都得到相同的序列
srand(time(0));
// 按照降序排列数组
for (int i = 0; i < 9; ++i) {
for (int j = 0; j < 9 - i; ++j) {
if (arr[j] < arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
// 计算平均值、最大值和最小值
double sum = 0;
int max = arr[0], min = arr[0];
for (int i = 0; i < 10; ++i) {
sum += arr[i];
if (arr[i] > max) {
max = arr[i];
} else if (arr[i] < min) {
min = arr[i];
}
}
double average = sum / 10;
printf("Sorted array: ");
for (int i = 0; i < 10; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
printf("Average: %.2lf\n", average);
printf("Max: %d\n", max);
printf("Min: %d\n", min);
}
int main() {
int arr[10];
sort_and_calculate(arr, sizeof(arr) / sizeof(arr[0]));
return 0;
}
```
这个程序首先创建了一个包含10个元素的数组,然后生成随机数填充数组,并按降序排列。接着计算平均值、最大值和最小值,并打印结果。
阅读全文