编写c语言程序,随机生成20个0-100之间的数,放入数组中,求这20个数的平均数
时间: 2024-02-20 12:59:49 浏览: 18
好的,以下是一个C语言程序,可以随机生成20个0-100之间的数并放入数组中,最后求这20个数的平均数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 20
int main() {
int arr[N];
int i, sum = 0;
float avg;
// 生成随机数种子
srand((unsigned)time(NULL));
// 随机生成20个0-100之间的数并放入数组中
for (i = 0; i < N; i++) {
arr[i] = rand() % 101;
printf("%d ", arr[i]);
sum += arr[i];
}
// 求平均数
avg = (float)sum / N;
printf("\nThe average is %.2f\n", avg);
return 0;
}
```
程序中使用了C语言中的随机数函数rand(),其返回一个范围在0到RAND_MAX之间的随机整数,我们通过对100取模来限制其范围在0到100之间。同时,我们使用了time()函数来生成随机数种子,以保证每次运行程序时生成的随机数序列都是不同的。程序最终输出20个随机数和它们的平均数。
相关问题
用C语言.编写程序,随机生成20个0-100之间的数,放入数组中,求这20数的平均值
以下是用C语言编写的程序,可以随机生成20个0-100之间的数,放入数组中,并且计算这20个数的平均值:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 20 // 定义数组大小为20
int main()
{
int arr[ARRAY_SIZE]; // 定义存放20个数的数组
int i, sum = 0;
float avg;
srand((unsigned)time(NULL)); // 设置随机数种子
// 随机生成20个0-100之间的数,存放到数组中
for (i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % 101;
printf("%d ", arr[i]); // 打印生成的数
sum += arr[i]; // 求和
}
avg = (float)sum / ARRAY_SIZE; // 计算平均值
printf("\n平均值为:%.2f\n", avg); // 打印平均值,保留2位小数
return 0;
}
```
程序中用到了随机数函数`rand()`和时间函数`time()`。`rand()`函数生成的是一个0-32767之间的整数,为了生成0-100之间的数,需要使用`%`运算符取余数。`time()`函数用来设置随机数种子,以免每次运行程序生成的随机数都相同。最后,求平均值时要注意将求和的结果强制转换成`float`类型,以便得到精确的平均值。
c语言编写程序, 随机生成20个0-100之间的数,放入数组中,求这20数的平均值。
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int nums[20];
int i, sum = 0;
float avg;
// 生成随机数种子
srand((unsigned int)time(NULL));
// 生成20个0-100之间的随机数并放入数组中
for (i = 0; i < 20; i++) {
nums[i] = rand() % 101;
}
// 计算平均值
for (i = 0; i < 20; i++) {
sum += nums[i];
}
avg = (float)sum / 20;
printf("随机生成的20个数为:\n");
for (i = 0; i < 20; i++) {
printf("%d ", nums[i]);
}
printf("\n这20个数的平均值为:%.2f\n", avg);
return 0;
}
```
运行结果示例:
```
随机生成的20个数为:
8 15 34 38 66 53 48 27 42 52 96 8 13 78 61 69 7 64 81 30
这20个数的平均值为:44.70
```