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

青县网站建设公司网站收录后怎么做排名

青县网站建设公司,网站收录后怎么做排名,怎么设置网站栏目,网站禁止被采集前面介绍过很多的C语言常识#xff0c;但是我们都知道“兴趣是最好的老师”#xff0c;所以#xff0c;今天我们用之前讲过的一些知识#xff0c;加上部分新补充的知识点#xff0c;写一个“猜数字”的小游戏#xff0c;来丰富我们的编程学习生活#xff0c;感受来自C语…前面介绍过很多的C语言常识但是我们都知道“兴趣是最好的老师”所以今天我们用之前讲过的一些知识加上部分新补充的知识点写一个“猜数字”的小游戏来丰富我们的编程学习生活感受来自C语言的趣味性。 目录 1.猜数字游戏的大致流程 2.游戏实现的思路 3.随机数生成 3.1rand 3.2srand 3.3time 3.4随机数范围设置 4.猜数字游戏的代码实现 5.猜数字游戏的优化 1.猜数字游戏的大致流程 首先由计算机产生一个随机数并给出这个随机数所在的区间然后由玩家来猜测这个数如果玩家猜中这个数则显示成功并结束本轮游戏如果猜测次数超过8次则显示猜测失败并结束本轮游戏。 2.游戏实现的思路 我们在写编程题或者小游戏代码时最重要的就是理清思路——主体是什么为了实现目的要创建哪些函数函数的功能都是什么只有当我们心中有了一个大体的框架知道该做些什么时我们才能更高效地编写代码完成程序设计。 猜数字游戏的算法如下 1.提供游戏菜单由玩家选择是否进行游戏按“1”开始游戏按“0”推出游戏按其他则显示“选择错误请重新选择”。 2.开始游戏后先初始化猜测次数count 0 3.重复执行下述操作直到count达到8次         3.1玩家输入一个数guess进行猜测         3.2count         3.2如果guess等于secret计算机产生的随机数跳出循环否则显示“错了请重新猜你还有8-count次猜测次数请把握好机会” 4.如果count达到8次则显示“超过次数游戏结束”否则显示“恭喜猜对了共猜测count次” 如上面所示这就是猜数字游戏大体框架的算法呈现。 我们在思考大体框架时不用过多在意具体函数的实现方法可以先起个能表达其功能的函数名并把它放在需要的位置。说白了就是先搞一个空壳函数占位置等到大体框架调试完毕不再有问题后再去实现这些空壳函数大体框架代码如下 #icludestdio.hint main() {int secret;//随机数怎么建立呢我们好像暂时也不清楚那么就先假设一个空壳的不用在意它。int input;do{ //menu函数在调试大体框架时也可以是空壳函数menu();//打印游戏菜单。我们建立函数可以让主函数不至于太过冗长而且增加了代码的可读性使程序模块化。printf(请选择:);scanf(%d, input);switch(input){case 1:guess(secret);//guess是用来猜测并判断是否正确的函数这里也是空壳函数break;case 0:printf(游戏结束\n);break;default:printf(选择错误请重新选择\n);break;}}while(input);return 0; } 上面的guess函数就是个空壳函数我们可以在把主体框架完成后再去实现。而guess函数的功能就是 ①guess玩家猜测数 secret则显示“恭喜猜对了同猜测count次” ②guess玩家猜测数 secret则显示“错了请重新猜你还有8-count次猜测机会请把握好机会” guess函数的代码实现如下 void guess(int secret) {int guess 0, count 0;do{printf(请输入一个整数:);scanf(%d, guess);count;if(guess secret) break;else pritnf(错了请重新猜你还有%d猜测次数请把握好机会\n,8-count);}while(count8);if(count 8)printf(恭喜猜对了共猜测%d次\n,count);elseprintf(超过次数游戏结束\n);} menu函数的代码实现如下 void menu() {printf(***********************\n);printf(****** 1. play ******\n);printf(****** 0. exit ******\n);printf(***********************\n); } 3.随机数生成 上面我们已经把大体框架和空壳函数都实现按照正常情况我们的代码已经完成了只需要调试使其能正常运行即可但是在这个游戏中我们还需要补充一个新的知识点——随机数的生成。 3.1rand C语言提供了随机数生成函数rand该函数返回0~RAND_MAX的一个随机整数RAND_MAX是在头文件stdlib.h中定义的符号常量其值与机器字长和编程环境有关一般为2^15-1或2^31-1。 rand函数原型为 int rand (void); #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。 如果要生成不同的随机数就要让种子是变化的。 3.2srand C语言提供了库函数srand初始化随机种子例如可以调用库函数time得到当前的系统时间将当前系统时间作为随机种子。 srand函数的原型为 void srand (unsigned int seed); 程序中在调用rand函数之前先调用srand函数通过srand函数的参数seed来设置rand函数生成随 机数的时候的种子只要种子在变化每次生成的随机数序列也就变化起来了。那也就是说给srand的种子是如果是随机的rand就能生成随机数在生成随机数的时候又需要一个随机数这就矛盾了该怎么解决呢  3.3time C语言提供一个函数time用来获得系统时间。 time函数的原型为 time_t time (time_t* timer); time函数会返回当前的日历时间其实返回的是1970年1月1日0时0分0秒到现在程序运行时间之间的差值单位是秒。返回的类型是time_t类型的time_t 类型本质上其实就是32位或者64位的整型类型 。 time函数的时候需要包含头文件time.h 综合上面三个函数及介绍则随机数生成代码实现为 srand((unsigned int)time(NULL));//初始化随机种子 rand( );//产生随机数 3.4随机数范围设置 既然是随机数那么就会从0~RAND_MAX中随机生成一个数字那我们能猜对吗答案是显然的别说是八次机会就是八十次都不一定能猜对。所以为了照顾玩家的游戏体验我们也必须设置随机数的范围让它更为科学和合理。 如果我们要生成0~99之间的随机数方法如下 rand() %100;//余数的范围是0~99 如果我们要生成1~100之间的随机数方法如下 rand()%1001;//%100的余数是0~99,0~99的数字1,范围是1~100 如果我们要生成a~b之间的随机数方法如下 a rand()%(b-a1) 4.猜数字游戏的代码实现 前面的准备工作已经做完了那么就整合所有模块一起来见证我们努力的成果吧 #includestdio.h #include stdlib.h #include time.h//记得检查所需的函数头文件都引用没有哦 void menu() {printf(***********************\n);printf(****** 1. play ******\n);printf(****** 0. exit ******\n);printf(***********************\n); }void guess(int secret) {int guess 0, count 0;do{printf(请输入一个整数:);scanf(%d, guess);count;if(guess secret) break;else printf(错了请重新猜你还有%d猜测次数请把握好机会\n\n,8-count);}while(count8);if(count 8)printf(恭喜猜对了共猜测%d次\n,count);elseprintf(超过次数游戏结束\n);}int main() {srand((unsigned int)time(NULL));int input 0;srand((unsigned int)time(NULL));do{ int secret rand() %100;//生成0~99之间的随机数 //menu函数在调试大体框架时也可以是空壳函数menu();//打印游戏菜单。我们建立函数可以让主函数不至于太过冗长而且增加了代码的可读性使程序模块化。printf(请选择:);scanf(%d, input);switch(input){case 1:guess(secret);//guess是用来猜测并判断是否正确的函数这里也是空壳函数break;case 0:printf(游戏结束\n);break;default:printf(选择错误请重新选择\n);break;}}while(input);return 0; } 上面的代码进行了细微的调整——把rand的随机种子初始化放在do之前然后把随机数的生成放在do…while语句中这样我们每一轮游戏所猜的数字都是不同的且不必重复初始化随机种子。 5.猜数字游戏的优化 我们玩几局就会发现虽然限制了随机数的范围但想在8次机会中猜对还是有些难度所以为了我们亲爱的玩家我们就再降低难度——当他们猜完数字后给他们提示“猜大了”或者“猜小了” 优化后的代码如下 #includestdio.h #include stdlib.h #include time.h//记得检查所需的函数头文件都引用没有哦 void menu() {printf(***********************\n);printf(****** 1. play ******\n);printf(****** 0. exit ******\n);printf(***********************\n); }void guess(int secret) {int guess 0, count 0;do{printf(请输入一个整数:);scanf(%d, guess);count;if(guess secret) break;else if(guess secret){if(count ! 8) printf(猜大了请重新猜你还有%d猜测次数请把握好机会\n\n,8-count);else printf(可惜最后还是猜大了\n);} else{if(count ! 8) printf(猜小了请重新猜你还有%d猜测次数请把握好机会\n\n,8-count);else printf(可惜最后还是猜小了\n);}}while(count8);if(count 8)printf(恭喜猜对了共猜测%d次\n,count);elseprintf(不好意思次数已用完游戏结束\n);}int main() {srand((unsigned int)time(NULL));int input 0;srand((unsigned int)time(NULL));do{ int secret rand() %100;//生成0~99之间的随机数 //menu函数在调试大体框架时也可以是空壳函数menu();//打印游戏菜单。我们建立函数可以让主函数不至于太过冗长而且增加了代码的可读性使程序模块化。printf(请选择:);scanf(%d, input);switch(input){case 1:guess(secret);//guess是用来猜测并判断是否正确的函数这里也是空壳函数break;case 0:printf(游戏结束\n);break;default:printf(选择错误请重新选择\n);break;}}while(input);return 0; } 猜数字小游戏到这里算是结束喽不知道大家学习的过程辛苦不辛苦反正我是痛并快乐着的 关于猜数字的更多玩法和可能性就全权交由聪明的大家了。当然大家有啥好想法又不想一个人搞的也可以在评论区发出来大家一起交流交流研究研究。
http://www.lebaoying.cn/news/48195.html

相关文章:

  • 黄页网站推广公司建一个商城型网站
  • 上海电信网站备案wordpress 手机 跳转
  • 长宁区网站制上海企业服务云代表啥
  • 如何知道网站的字体WordPress搬家emlog
  • 东莞横沥做网站电子商务网站建设管理实训报告
  • 苏州运营推广网站建设如何利用php开源系统建立php网站
  • 网站建设项目的预算网站开发答辩会问哪些问题
  • app网站开发公司百度权重排名高的网站
  • 广州卓天跨境电商网站博客系统wordpress
  • 网站的域名解析怎么做h5生成
  • 网站建设毕业报告aipage网站建设
  • 河间网站中国十大建筑事务所排名
  • seo中心seo网站关键词优化方法
  • 免费学编程的网站有哪些智慧团建入口登录网站
  • 《网站建设 补充合同做视频网站成本高吗
  • 建行网站会员是什么表单网站
  • 和规划网站如何湖北建设厅官网
  • 做网站需要ftp吗长沙网站建设 芙蓉区
  • 长春网站建设建站系统做网站云服务器选择多大带宽
  • 两学一做 网站网址提交大全
  • 做环保要知道的几个网站wordpress 定时显示
  • 广安门外网站建设广受好评的域名备案加急
  • 小企业公司网站建设网页设计与制作初学者教程
  • 低成本做网站 百知成都那家网站制作公司好
  • 怎么做网站弄网盟免费建网站 步骤
  • 哪里有营销型网站网站建站管
  • 网站ui设计怎么做企业官方网站制作
  • 广州开发区投资集团有限公司招聘谷歌排名优化入门教程
  • 手机网站做的比较好的百度搜图匹配相似图片
  • 中国采购网官方网站网页搜索排名分析