当前位置: 首页 > news >正文

北京外包公司 网站开发360推广登录平台

北京外包公司 网站开发,360推广登录平台,广州番禺,萍乡手机网站建设目录 一.随机数生成 1.rand 2.srand 3.time 4.设置随机数的范围 猜数字游戏实现 写⼀个猜数字游戏 游戏要求#xff1a; #xff08;1#xff09;电脑自动生成1~100的随机数 #xff08;2#xff09;玩家猜数字#xff0c;猜数字的过程中#xff0c;根据猜测数据的⼤… 目录  一.随机数生成 1.rand  2.srand 3.time 4.设置随机数的范围 猜数字游戏实现 写⼀个猜数字游戏 游戏要求 1电脑自动生成1~100的随机数 2玩家猜数字猜数字的过程中根据猜测数据的⼤⼩给出⼤了或⼩了的反馈直到猜对游戏结束 一.随机数生成 要想完成猜数字游戏⾸先得产⽣随机数那怎么产生随机数呢 1.rand  C语言提供了⼀个函数叫 rand这函数是可以生成随机数的函数原型如下所示  int rand (void); rand函数会返回⼀个伪随机数这个随机数的范围是在0~RAND_MAX之间这个RAND_MAX的⼤⼩是依赖编译器上实现的但是⼤部分编译器上是32767。 rand函数的使用需要包含⼀个头文件是stdlib.h 那我们就测试⼀下rand函数这⾥多调⽤⼏次产⽣5个随机数 #include stdio.h #include stdlib.h int main() {printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());return 0; } 我们可以看到虽然⼀次运⾏中产⽣的5个数字是相对随机的但是下⼀次运⾏程序⽣成的结果和上⼀次⼀模⼀样这就说明有点问题。 如果再深⼊了解⼀下我们就不难发现 其实rand函数生成的随机数是伪随机的伪随机数不是真正的随机数是通过某种算法生成的随机数。真正的随机数的是无法预测下⼀个值是多少的。而rand函数是对⼀个叫“种⼦”的基准值进⾏运算⽣成的随机数。 之所以前⾯每次运⾏程序产⽣的随机数序列是⼀样的那是因为rand函数⽣成随机数的默认种⼦是1。 如果要⽣成不同的随机数就要让种⼦是变化的。 intrand(2) intrand(3) intrand(4) ...... 2.srand C语言中又提供了⼀个函数叫 srand用来初始化随机数的生成器的srand的原型如下 void srand (unsigned int seed) 程序中在调⽤ rand 函数之前先调⽤ srand 函数通过 srand 函数的参数seed来设置rand函数⽣成随 机数的时候的种⼦只要种⼦在变化每次⽣成的随机数序列也就变化起来了。 那也就是说给srand的种⼦是如果是随机的rand就能⽣成随机数在⽣成随机数的时候⼜需要⼀个随机数这就⽭盾了。 3.time 在程序中我们⼀般是使⽤程序运⾏的时间作为种⼦的因为时间时刻在发⽣变化的。 在C语⾔中有⼀个函数叫time   就可以获得这个时间time函数原型如下 time_t time (time_t* timer); time 函数会返回当前的⽇历时间其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的差值单位是秒。返回的类型是time_t类型的time_t 类型本质上其实就是32位或者64位的整型类型。 time函数的参数 timer 如果是⾮NULL的指针的话函数也会将这个返回的差值放在timer指向的内存中带回去。 如果 timer 是NULL就只返回这个时间的差值。time函数返回的这个时间差也被叫做 时间戳 。 time函数的时候需要包含头⽂件time.h //VS2022 上time_t类型的说明 #ifndef _CRT_NO_TIME_T#ifdef _USE_32BIT_TIME_Ttypedef __time32_t time_t;#elsetypedef __time64_t time_t;#endif #endiftypedef long __time32_t; typedef __int64 __time64_t 如果只是让time函数返回时间戳我们就可以这样写 time(NULL);//调⽤time函数返回时间戳这⾥没有接收返回值 那我们就可以让⽣成随机数的代码改写成如下 #include stdio.h #include stdlib.h #include time.h int main() {//使⽤time函数的返回值设置种⼦//因为srand的参数是unsigned int类型我们将time函数的返回值强制类型转换srand((unsigned int)time(NULL)); //放主函数只执行一次printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());return 0; } 注截图只是当时程序运行的结果你的运行结果不⼀定和这个⼀样  srand函数是不需要频繁调⽤的⼀次运行的程序中调用⼀次就够了 4.设置随机数的范围 如果我们要⽣成0~99之间的随机数⽅法如下 rand() %100;//余数的范围是0~99 如果要⽣成1~100之间的随机数⽅法如下 rand()%1001;//%100的余数是0~99,0~99的数字1,范围是1~100 如果要⽣成100~200的随机数方法如下 100 rand()%(200-1001)//余数的范围是0~100加100后就是100~200 所以如果要生成a~b的随机数⽅法如下 a rand()%(b-a1) 二.猜数字游戏实现 #include stdio.h #include stdlib.h #include time.h void game() {int r rand()%1001;int guess 0;while(1){printf(请猜数字:);scanf(%d, guess);if(guess r){printf(猜⼩了\n);}else if(guess r){printf(猜⼤了\n);}else{printf(恭喜你猜对了\n);break;}} } void menu() {printf(***********************\n);printf(****** 1. play ******\n);printf(****** 0. exit ******\n);printf(***********************\n); } int main() {int input 0;srand((unsigned int)time(NULL));do{menu();printf(请选择:);scanf(%d, input);switch(input){case 1:game();break;case 0:printf(游戏结束\n);break;default:printf(选择错误重新选择\n);break;}}while(input);return 0; } 还可以加上猜数字的次数限制如果5次猜不出来就算失败. #include stdio.h #include stdlib.h #include time.h void game() {int r rand() % 100 1;int guess 0;int count 5;while (count) //0跳出循环{printf(\n你还有%d次机会\n, count);printf(请猜数字:);scanf(%d, guess);if (guess r){printf(猜⼩了\n);}else if (guess r){printf(猜⼤了\n);}else{printf(恭喜你猜对了\n);break;}count--;}if (count 0){printf(你失败了正确值是:%d\n, r);} } void menu() {printf(***********************\n);printf(****** 1. play ******\n);printf(****** 0. exit ******\n);printf(***********************\n); } int main() {int input 0;srand((unsigned int)time(NULL));do{menu();printf(请选择:);scanf(%d, input);switch (input){case 1:game();break;case 0:printf(游戏结束\n);break;default:printf(选择错误重新选择\n);break;}} while (input);return 0; }
http://www.hkea.cn/news/14528191/

相关文章:

  • 宁波建设公司网站中国乐清新闻
  • 上海营销型网站建设哪家好网页设计公司背景
  • 做问卷网站好捕鱼游戏网站开发商
  • 电子商务与网站建设实践论文怎么查自己是不是团员
  • 怎么seo网站推广wordpress英文源码
  • 做编辑器的网站南宁个人网站建设
  • 茶叶电子商务网站开发技术支持亚马逊雨林地图
  • 网站色差表软文写手
  • 中国建设银行陕西分行官方网站广州最新黄码区域地图
  • 网站设计代码案例某些网站dns解析失败
  • 企业网站模板php百度怎么创建网站
  • 单页企业网站模板网页设计作品源代码彼岸花坊
  • 免费的网站怎么建石家庄最新
  • 开创集团万网站建设网站关键字优化工具
  • 网站设计课程总结有哪些免费发布信息的平台
  • 可以网站可以做免费的文案广告语淄博网赢网站建设
  • 网站上线的步骤邢台最新消息
  • 关注网站制作做网站网页需要学些什么
  • 网站建设维护论文怎么做网站数据分析
  • 网站权重世界知名网站
  • 免费网站无需下载直接观看html网页编辑器下载
  • 张家港保税区规划建设局网站5 网站建设进度表
  • 深圳设计网站公司网站建设保障房网站首页
  • 烟台网站制作培训桂林象鼻山夜景
  • 个人网站可以做百度推广吗服务网站排名咨询
  • 免费企业建网站网络营销手段有哪四种
  • 做微信网站的公司店面设计软件
  • 找人做网站去哪里找做网店自己怎么去推广
  • 百度建立网站需要花多少钱大数据分析培训机构
  • 自助建站官网陵水网站建设友创科技