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

优秀网站设计平台永久免费的连外网的软件

优秀网站设计平台,永久免费的连外网的软件,wordpress调整上传文件,wordpress 调用头像一#xff1a;游戏要求 1.电脑自动生成1~100随机数字 2.玩家猜数字#xff0c;在猜数字过程中#xff0c;根据猜数字的大小#xff0c;根据猜数据的大小#xff0c;给出大了还是小了的反馈#xff0c;直到猜对游戏 二#xff1a;随机数的生成 要完成猜数字游戏…一游戏要求 1.电脑自动生成1~100随机数字 2.玩家猜数字在猜数字过程中根据猜数字的大小根据猜数据的大小给出大了还是小了的反馈直到猜对游戏 二随机数的生成 要完成猜数字游戏最重要的就是要生成随机数那怎么才能生成随机数呢 2.1 rand函数 基于上述问题就要介绍一个C语言函数了-----rand这个函数是可以生成随机数的函数原型如下 int rand(void);//void 指的是这个函数不含参数 rand函数会返回一个伪随机数为什么成为伪请看后续讲解这个随机数的范围是0~RAND_MAX这个RAND_MAX的大小是依赖编译器实现的但是大部分编译器是32767. rand函数的使用要包含一个头文件stdlib.h 这里我先演示一下rand函数使用随机生成五个数字 int main() {printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());printf(%d\n, rand());return 0; } 看到这也许会疑问为什么我会贴两张一模一样的运行结果呢 其实着是我用上面代码运行两次的结果也就是说rand产生的值是随机的但是是相对随机的 这时就要求我们就深入了解rand的机制明白它为什么会产生随机值随机值为什么又是相对的 rand函数由上述代码可以看出生成的随机数是伪随机数而伪随机不是真正的随机数是通过一种算法生成的随即数真正的随机数是无法预测下一个值是多少的。而rand函数是对一个叫“种子”的基准值进行运算生成的随机数。 之所以前面每次程序产生的随机数序列是一样的那是因为rand函数生产的随机数的默认种子是1。如果要生成不同的随机数就要让“种子”发生变化。 2.2 srand 正巧是是C语言中有一个函数叫srand,用来初始化随机数的生成器初始化种子基准值srand的原型如下 void srandunsigned int seed; 程序在调用rand函数之前先调用srand函数通过srand函数的参数seed来设置rand函数生成随机数的时候的种子只要种子发生变化每次生成的随机数的序列就会发生变化。 也就是说给srand的种子如果是随机的rand就能生成随机数在生成随机数的时候又需要一个随机数这似乎像套娃一样没有尽头了 2.3 time srand的种子是随机的其中一层意思就是它的种子是一直在变化的才能保证rand的随机数列在变化。这是我们可以想一下什么是一直变化且在短时间内是不会重复的 此时各位不妨看一下你们手机或电脑的时间是不是每一秒都在变化 所以在程序中我们一般使用程序运行的时间作为种子的因为时间时刻在变化。 time_t time (time_t* time); time函数会返回当前的日历时间其实返回的是1970年1月1日0时0分0秒到现在程序运行时间的插值单位是秒。返回的类型是time_t类型的time _t类型的本质上其实就是32位或64位的整数类型。 time函数的参数是timer,如果是非NULL的指针的话函数也会将这个返回的差值放在timer指向的内存中带回去 如果timet是NULL就只返回这个时间的差值。time函数返回的这个时间差也被叫做时间戳。 time函数需要包含头文件time.h 如果只是让time函数返回时间戳我们可以这样写 time(NULL); int main() {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生成种子之后使用rand一次性产生大量的随机数构成一个随机数列所以srand不用频繁使用一次运行的程序中调用一次就可以了 2.4随机数的范围 如果我们要生成0~99之间随机数方法如下 rand%100//余数是0~99 如果要生成1~100之间的随机数方法如下 rand()%100 1 //%100的余数是0~990~991就是1~100 如果要生成100~200之间的数字 100 rand() % (200-1001) //%101生成0~100之间的数字100就是100~200 由此可得出生成a~b的随机数方法如下 a rand()%(b-a1) 三游戏设计 3.1菜单 首先我们应该打印一个游戏菜单让玩家选择是否进入游戏是退出游戏还是继续游戏 其次就是这个菜单时玩家已进入程序就会立即出现的在这之前玩家还无需输入什么菜单出现后可以根据菜单的提示做出相应的选择所以这里就要用do while循环 printf(*******************\n);printf(***** 0. exit *****\n);//0退出printf(***** 1. play *****\n);//1游戏printf(*******************\n); 为了让主函数更加简洁易懂让菜单可以重复利用我们可以将菜单封装到一个函数中 3.2核心代码实现 核心代码的操作与菜单类似封装到一个函数中 而在核心代码之前应该有让玩家选择输入1还是0输入1才会进行游戏 有一个问题srand生成的种子是放在game函数中还是main函数中呢 1.从调用次数来说放在game函数中如果玩家一次性玩多次会被调用多次而放在main函数中玩家调用一次程序在退出游戏之前srand就只调用一次。从次数来说放在main函数中好。 2.考虑极端情况放在game中如果玩家第一次玩游戏是一次性就猜中了然后有选择继续玩这是game就被调用第二次srand就会根据当前时间再次生成随机数但是一次性猜中的情况下两局游戏距离时间可能是十分短所以srand产生的种子可能相同那么随机数就是伪随机了。而放在main函数中即使两次时间距离短暂但是既然没有退出程序那下次再猜数字就是从生成好的随机数列中继续向下选取数字在一列随机数中两个随机数不会相同。 综上放在main函数中。 四代码 void menu() {printf(*******************\n);printf(***** 0. exit *****\n);//0退出printf(***** 1. play *****\n);//1游戏printf(*******************\n); } void game() {int num rand() % 100 1;int guess 0;while (1){printf(请输入您猜的数字);scanf(%d, guess);if (guess num){printf(您猜小了\n);}else if (guess num){printf(您猜大了\n);}else{printf(恭喜您猜对了\n);break;}}} 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(退出游戏);break;default:printf(输入错误请重新输入);}} while (input); } 五游戏进阶 以上是猜数字游戏的基础版再次之上还可以加各种限制要求例如猜一定的次数就不可以再猜了......
http://www.zqtcl.cn/news/889434/

相关文章:

  • 网站开发用什么字体查询域名备案
  • 济南品牌网站建设公司网站单个页面紧张搜索引擎蜘蛛
  • 公司需要一个简单的网站包头网站建设奥北
  • 怎么制作网站导航页新手做网站详细步骤
  • 自己个人网站后台怎么做wordpress多程序用户同步
  • 赣州网联科技有限公司wordpress安装后优化
  • 二手书的网站建设做设计在哪个网站找图片大全
  • 网站seo设计北京市建设投标网站
  • 承德做网站设计的网络推广主要内容
  • 婚纱网站源代码重庆网站定制公司
  • 同一个ip网站太多 seo应用商店网站源码
  • 网站内容框架首页>新闻>正文 网站怎么做
  • 网站制作 搜索做效果图网站有哪些
  • 网站建设的相关技术网站的购物车怎么做
  • 免费建设公司网站腾讯云域名购买
  • 淘宝客网站应该怎么做网页浏览器推荐
  • 怎样做影视网站不侵权商丘专业做网站
  • 哪个网站做刷手最好鹤壁 网站建设
  • 设计接单子网站安徽网站开发推荐
  • 网站建设制作 优帮云怎样注册商标申请
  • 网站怎么做交易市场苏州吴江做网站公司
  • wordpress的字体禁用优化设计的答案
  • 网站建设开发五行属性如何做二级域名网站
  • 珠海做网站的公司介绍最近的新闻大事
  • 手机网站开发解决方案石碣镇网站建设
  • 保定网站建设公司哪家好app开发公司好吗
  • 网站域名备案证书网页素材大宝库
  • 沈阳网站制作的公司哪家好wordpress您访问的网页出错
  • 南京做公司网站有什么网站用名字做图片大全
  • 网站正在建设中页面wordpress 折叠文章