c语言怎么编程产生30个随机数

时间:2025-01-28 23:46:05 网络游戏

在C语言中,可以使用`rand()`函数和`srand()`函数来生成随机数。以下是一个示例程序,用于生成30个在[-50,50]之间的随机整数,并将它们输出,同时计算正数、负数和0的个数以及平均值:

```c

include

include

include

int main() {

srand(time(0)); // 使用当前时间作为随机数种子

int gui = {0}; // 定义一个6x5的二维数组来存储随机数

int i, j, sum = 0, zhengshu = 0, ling = 0, fushu = 0;

float aver;

// 生成30个随机数并存储到二维数组中

for (i = 0; i < 6; i++) {

for (j = 0; j < 5; j++) {

gui[i][j] = rand() % 101 - 50; // 生成-50到50之间的随机数

sum += gui[i][j];

if (gui[i][j] > 0) zhengshu++;

else if (gui[i][j] < 0) fushu++;

else ling++;

}

}

// 输出随机数

for (i = 0; i < 6; i++) {

for (j = 0; j < 5; j++) {

printf("%4d", gui[i][j]);

}

printf("\n");

}

// 计算正数、负数和0的个数以及平均值

aver = sum * 1.0 / 30;

printf("正数有%d个\n负数有%d个\n0有%d个\n总合为sum=%d\n平均值aver=%.2f\n", zhengshu, fushu, ling, sum, aver);

return 0;

}

```

代码解释:

包含头文件

`include `:用于输入输出函数。

`include `:用于随机数生成函数`rand()`和`srand()`。

`include `:用于获取当前时间。

设置随机数种子

`srand(time(0));`:使用当前时间作为随机数种子,确保每次运行程序时生成的随机数序列不同。

生成随机数

`rand() % 101 - 50;`:生成一个在[-50,50]之间的随机整数。

存储和输出随机数

使用一个6x5的二维数组`gui`来存储30个随机数。

使用嵌套的`for`循环生成随机数并存储到数组中。

使用另一个嵌套的`for`循环输出随机数。

计算统计值

遍历数组,统计正数、负数和0的个数。

计算总和并求平均值,平均值保留两位小数。

通过这种方式,你可以生成30个指定范围内的随机数,并进行相应的统计计算。