C语言实现:2、在main()中定义长度为10的整型数组并赋值(数值为0-100之间的随机数),求数组中最大值和最小值的差值,最大值和平均值的差值,最小值和平均值的差值(注:求最大值定义一个函数,求最小值定义一个函数,求平均值定义一个函数,求差值定义一个函数)
时间: 2024-12-17 08:50:20 浏览: 5
在C语言中,我们可以先定义一个`generate_random_array`函数来生成包含10个随机数的整型数组,接着编写四个辅助函数:`find_max`, `find_min`, `calculate_average`以及`calculate_difference`。以下是完整的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 使用时间库生成随机数
// 生成长度为n的随机整数数组
void generate_random_array(int arr[], int n, int min, int max) {
srand(time(0)); // 初始化随机种子
for (int i = 0; i < n; i++) {
arr[i] = rand() % (max - min + 1) + min;
}
}
// 求最大值
int find_max(int arr[], int size) {
int max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max)
max = arr[i];
}
return max;
}
// 求最小值
int find_min(int arr[], int size) {
int min = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] < min)
min = arr[i];
}
return min;
}
// 求平均值
double calculate_average(int arr[], int size) {
double sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum / size;
}
// 求两数之差
double calculate_difference(int a, double avg) {
return (double)a - avg;
}
int main() {
int array[10], max_value, min_value;
generate_random_array(array, 10, 0, 100); // 生成数组
max_value = find_max(array, 10);
min_value = find_min(array, 10);
double average = calculate_average(array, 10);
double diff_max_avg = calculate_difference(max_value, average);
double diff_min_avg = calculate_difference(min_value, average);
printf("最大值和最小值的差值: %.2f\n", max_value - min_value);
printf("最大值和平均值的差值: %.2f\n", diff_max_avg);
printf("最小值和平均值的差值: %.2f\n", diff_min_avg);
return 0;
}
```
这段代码首先生成一个长度为10的随机数组,然后计算最大值、最小值、平均值,最后分别计算这三种差值并打印出来。
阅读全文