用c语言编写定义整型数组a[10000],调用求随机数的系统库函数产生n(n≤10000)个范围在[1,10]中的随机数存入数组。然后分别统计其中1~5和6~10出现的次数及概率。
时间: 2023-05-29 10:06:03 浏览: 140
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[10000], n, i, count1 = 0, count2 = 0;
float p1, p2;
printf("请输入随机数的个数(不超过10000):");
scanf("%d", &n);
srand((unsigned)time(NULL)); // 初始化随机种子
for (i = 0; i < n; i++) {
a[i] = rand() % 10 + 1; // 产生范围在[1,10]中的随机数
if (a[i] >= 1 && a[i] <= 5)
count1++; // 统计1~5出现的次数
else
count2++; // 统计6~10出现的次数
}
p1 = (float)count1 / n; // 计算1~5出现的概率
p2 = (float)count2 / n; // 计算6~10出现的概率
printf("1~5出现的次数:%d,概率:%.2f%%\n", count1, p1 * 100);
printf("6~10出现的次数:%d,概率:%.2f%%\n", count2, p2 * 100);
return 0;
}
```
相关问题
用c语言编写:定义整型数组a[10000],调用求随机数的系统库函数产生n(n≤10000)个范围在[1,10]中的随机数存入数组。然后分别统计其中1~5和6~10出现的次数及概率。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int a[10000];
int i, n;
int count1 = 0, count2 = 0;
float prob1, prob2;
printf("请输入要产生的随机数个数(不超过10000):");
scanf("%d", &n);
srand(time(NULL)); // 初始化随机数生成器
for (i = 0; i < n; i++) {
a[i] = rand() % 10 + 1; // 生成1~10之间的随机数
if (a[i] <= 5) {
count1++; // 统计1~5出现的次数
} else {
count2++; // 统计6~10出现的次数
}
}
prob1 = (float)count1 / n; // 计算1~5出现的概率
prob2 = (float)count2 / n; // 计算6~10出现的概率
printf("1~5出现的次数:%d,概率:%.2f\n", count1, prob1);
printf("6~10出现的次数:%d,概率:%.2f\n", count2, prob2);
return 0;
}
```
C语言定义一个含有15个元素的数组,并编写函数调用c库函数中的随机函数给所有元素
可以使用C语言的标准库函数rand()来生成随机数。具体实现代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 15
int main() {
int i;
int arr[ARRAY_SIZE];
// 设置随机数种子
srand((unsigned)time(NULL));
// 给数组元素赋随机值
for (i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand();
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的代码中,我们先定义了一个包含15个元素的整型数组arr。然后使用srand()函数设置随机数种子,这里我们使用当前时间作为种子,确保每次运行程序时生成的随机数都不同。接着使用for循环遍历数组元素,调用rand()函数生成随机数并将其赋值给数组元素。最后输出数组元素的值。
需要注意的是,rand()函数生成的随机数范围是0到RAND_MAX,如果需要生成特定范围内的随机数,可以使用取余运算符对rand()函数的结果进行处理。例如,要生成1到100之间的随机数,可以使用如下代码:
```c
int num = rand() % 100 + 1;
```
阅读全文