对于这个小程序的几点疑问,看不太懂????

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:10:46
猜硬币游戏,假设0代表麦穗,1代表国徽,用户先输入猜测结果(0或1),然后随机产生数据,最终报告用户猜测是否正确

#include<stdio.h>
#include<time.h>//1.什么时候调用这个头文件?
#include<stdlib.h>//2.什么时候调用这个头文件?
void main(){
int d,coin;
printf("请输入你的猜测(0 麦穗,1 国徽):");
scanf("%d",&coin);
randomize();//3.什么意思??
d=random(2);//4.什么意思??
if(d==coin)
printf("Right\n");
else
printf("Wrong\n");
}
//5 这个程序总报错
//1>e:\text1\text1\text1.cpp(8) : error C3861: “randomize”: 找不到标识符
//1>e:\text1\text1\text1.cpp(9) : error C3861: “random”: 找不到标识符

#include <time.h> //定义关于时间的函数
一般在用到time(NULL)(当前时间)函数时需要包含此头文件
#include <stdlib.h> //定义杂项函数及内存分配函数
一般在用到rand()和srand()函数时需要包含此头文件

函数名: random 功 能: 随机数发生器,也就是产生一个随机数
用 法: int random(int num);
产生的随机数范围为0~num-1。

函数名: randomize
功 能: 初始化随机数发生器,相当于拨随机种子
用 法: void randomize(void);

现在vc++编译器的库函数中没有randomize()和random(),分别用srand()和rand()代替了。你可以到你机器上的编译软件安装目录下找到include那个文件夹,然后找到stdlib.h和time.h用记事本打开,找一下有没有randomize()和random(),没有的话,就是编译为什么有那两个错误提示了。

以上程序可以修改一下。
#include<stdio.h>
#include<time.h>//下面调用了time()函数
#include<stdlib.h>//调用了srand()函数和rand()函数
void main(){
int d,coin;
printf("请输入你的猜测(0 麦穗,1 国徽):");
scanf("%d",&coin);
srand(time(NULL));//以time()返回的当前时间为准,设定随机种子
d=rand()%2;//d有随机函数rand()产生的随机数来赋值,rand()产生的随机数范围在0到32767之间,所以用它和2取余,保证这个数在0和1之间
if(d==coin)
printf("Right\n");
e