发布于2026-07-08 阅读(0)
扫一扫,手机访问
在C语言开发中,随机数生成是绕不开的基础技能,尤其是在需要模拟数据、测试算法或者做游戏逻辑时,它的应用场景远比想象中广泛。这里咱们就把随机数和随机数组的生成方式好好捋一遍,保证看完就能上手。
先记住两个关键点:time函数要包含头文件 ,rand函数要包含头文件 。这两个头文件缺一不可,算是基本功。
生成一个指定范围内的随机数,核心就三步:播种、取余、偏移。下面这段代码生成一个1到200之间的随机整数:
int a; srand((unsigned)time(NULL)); // 播种 a = rand() % 200 + 1;
这里srand负责设置随机种子,用当前时间作为种子可以保证每次运行程序得到的序列都不一样。如果你忘了调用srand,那每次重启程序生成的随机数其实都是一样的——很多新手踩过这个坑。
实际开发中往往需要一批随机数,比如生成一个包含100个元素的数组,元素取值范围1到200。完整实现如下:
#include#include #include // 生成元素为1-200的随机数组 int main() { int a[100], aa; int i; int count = 0; // 按时间重新播种 srand((unsigned)time(NULL)); for (i = 0; i < 100; i++) { aa = rand() % 200 + 1; a[i] = aa; } for (i = 0; i < 100; i++) { printf("%-5d", a[i]); count++; if (count == 10) { printf("\n"); count = 0; } } system("pause"); return 0; }
这段代码的逻辑很清晰:先播种,再循环填充数组,最后以每行10个的格式打印出来。注意printf("%-5d", ...)中的-5表示左对齐、宽度为5,这样输出看起来整齐很多。最后的system("pause");在Windows环境下让控制台暂停,方便观察结果。

回过头来看,随机数生成的核心就是srand加rand的组合,加上取模运算来限定范围。生成数组无非是把这个过程套进循环里。另外,用time做种子是目前最简单也最实用的做法,至少能保证每次运行结果不重复。掌握这些,日常开发中的随机数需求基本都能覆盖了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8