c语言中编码产生20个随机整数,并求他们的最大值,最小值,平均值值
时间: 2023-05-18 15:06:47 浏览: 109
以下是C语言代码,可以产生20个随机整数,并求它们的最大值、最小值和平均值:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int nums[20];
int i, sum = 0, max = 0, min = 100;
srand(time(NULL)); // 设置随机数种子
// 产生20个随机整数
for (i = 0; i < 20; i++) {
nums[i] = rand() % 100;
printf("%d ", nums[i]);
sum += nums[i];
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
printf("\n");
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%f\n", (float)sum / 20);
return 0;
}
```
注意:每次运行程序时,产生的随机数都会不同。
相关问题
c语言用值调用求3个整数的最大值,最小值,平均值
求3个整数的最大值,最小值,平均值可以使用C语言进行值调用。
下面是求最大值、最小值、平均值的代码:
```
#include <stdio.h>
void max_min_avg(int a, int b, int c, int* max, int* min, float* avg) {
*max = a;
*min = a;
*avg = (a + b + c) / 3.0;
if(b > *max) {
*max = b;
}
if(c > *max) {
*max = c;
}
if(b < *min) {
*min = b;
}
if(c < *min) {
*min = c;
}
}
int main() {
int a = 10, b = 20, c = 30;
int max, min;
float avg;
max_min_avg(a, b, c, &max, &min, &avg);
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("平均值为:%f\n", avg);
return 0;
}
```
输出结果:
```
最大值为:30
最小值为:10
平均值为:20.000000
```
c语言用引用调用求3个整数的最大值,最小值,平均值
这是一个常见的 C 语言题目,我们可以用指针作为参数实现引用调用:
```c
#include <stdio.h>
#include <stdlib.h>
void get_max_min_avg(int* a, int* b, int* c, int* max, int* min, float* avg) {
*max = *a > *b ? (*a > *c ? *a : *c) : (*b > *c ? *b : *c);
*min = *a < *b ? (*a < *c ? *a : *c) : (*b < *c ? *b : *c);
*avg = (*a + *b + *c) / 3.0;
}
int main() {
int a, b, c, max, min;
float avg;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
get_max_min_avg(&a, &b, &c, &max, &min, &avg);
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("平均值:%.2f\n", avg);
return 0;
}
```
当输入 1、2、3 时输出:
```
最大值:3
最小值:1
平均值:2.00
```
注意,这里使用了指针的比较运算符,如 `*a > *b`,这是因为指针运算符 `*` 的优先级比较低,需要加上括号。