易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++ 标准函数应用小结 之 随机函数

自从接触这门语言到现在有一个多星期的时间了,虽然以后的路还很长,会遇到各种困难,但只要有耐心和毅力,还要脚踏实地的打好基础,就一定能有长途的进步,呵呵,希望在这里的每一个人都和我一起加油,不断进步。
随机函数对每种编程语言来说都是一个不可缺少的环节,那么在C++中它是如何应用的,这里为了方便理解,对以前看过的几篇文章做以下总结:
I ) 本地C++控制台应用程序
C++标准函数库提供一随机数生成器rand,rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同。如果需要产生的随机数不需要设定范围的话,用rand()就行。
不要忘记事先定义包含rand()的头文件 #include<stdio.h>和#include<stdlib.h>。如例1 #include<stdio.h>
#include<stdlib.h>
void main()
{
for(int i=0;i<10;i+)
printf("%d\n",rand());
}

具体应用如,要产生0到10的随机数 rand()%(10 + 1); 即 rand()%11;  若1到10 : 1 + rand()%11;以此类推 a到b :            a + rand()%(b - a + 1);
运行后会发现,每次运行程序产生的随机数都是一样的,因为如果种子相同的话,产生的伪随机数列也相同。若要产生每次不同的随机数,可以使用C++中另一函数srand(),可以指定不同的数(无符号整数变元)为种子。
用时间来作为随机数生成器的种子比较理想,time的值每时每刻都不同。所以种子不同,所以,产生的随机数也不同。
如例2 // C++随机函数(VC program)
#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;
#define MAX 100
int main(int argc, char* argv[])
{
srand( (unsigned)time( NULL ) );//srand()函数产生一个以当前时间开始的随机种子.应该放在for等循环语句前面 不然要很长时间等待
for (int i=0;i<10;i++)
cout<<rand()%MAX<<endl;//MAX为最大值,其随机域为0~MAX-1
   return 0;
}
 
这样就可以每次得到0到某个范围不同随机数,例题中同样需要先定义包含时间函数time()的头文件。


相关文档:

为什么C和C++牛人多

1、C和C++够笨,逼的程序员自己做很多事。
C其实大家都知道,是一门中低级语言,保留了指针等汇编特征,与系统底层结合密切。C++呢,更多的向个Object C,即面向对象的C。但这些,其实并不能够让程序员显得很牛。
我个人的理解,之所以C和C++程序员显得很牛,其实原因和大家想像的正好相反,不是因为C和C++太强大,而是这 ......

function(p,a,c,k,e,d)

<script>
a=62;
function encode() {
var code = document.getElementById('code').value;
code = code.replace(/[\r\n]+/g, '');
code = code.replace(/'/g, "\\'
");
var tmp = code.match(/\b(\w+)\b/g);
tmp.sort();
var dict = [];
var i, t = '';
for(var i=0; i<tmp.length ......

c/vc++ 环境下不同的文件长度获取方法

(一)
对文件操作时有时获得文件的大小时必要的.下面是获得其大小小的较简单方法.
#include<io.h>   //C语言头文件
#include<iostream>   //for system();
using namespace std;
int main()
{
  int handle;
  handle = open("test.txt", 0x0100); //open file for rea ......

编程求一元二次方程ax2+bx+c=0的根

突然发现自己连一元二次方程怎么算的都不知道了。想了半天,拿起笔来才顺手些了给x2+2x+1=0.悔恨啊。
#include "iostream"
#include "cmath"
using namespace std;
int main(){
double a,b,c;
double delta,x1,x2;
int sign,stop;
cout<<"输入3个系数a(a!=0),b,c"<<endl;
cin>>a>>b& ......

C语言写的字节查询器(初学C练手用)

用C语言写的一个简单的字节型查询器,主要功能是实现对        signed int        float        unsigned int        double        s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号