C语言课程设计
(实验一、猜数游戏)
班级: 学号:
姓名:
目录
1.程序设计要求 ............................................................................................. 1 2.设计思路和分析过程 ................................................................................ 2 3.程序流程 .................................................................................................. 4 4.程序代码 ..................................................................................................... 5 5.程序的调试过程及运行结果 .................................................................... 7 6.总结 ............................................................................................................. 9
1.程序设计要求
程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并告诉人所猜的数是大还是小,然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。
程序2 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。
程序3 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,结束游戏。 程序4 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
1
2.设计思路和分析过程
程序1
①先输入一个0-100的随机数
②如果猜对,游戏结束;反之,如果猜错,计算机给予“过大”或“过小”的提示。 程序2
①先输入一个0-100的随机数
②如果猜对,游戏结束;反之,如果猜错,计算机给予“过大”或“过小”的提示,直到猜对为止。 程序3
①先输入一个0-100的随机数
②如果猜对,游戏结束;反之,如果猜错,计算机给予“过大”或“过小”的提示,注意猜数的同时统计猜的次数;
③给最多10次猜的机会,如果10次都没猜中,则游戏结束。
2
程序4
①先输入一个0-100的随机数
②如果猜对,游戏结束;反之,如果猜错,计算机给予“过大”或“过小”的提示,注意猜数的同时统计猜的次数;
③给最多10次猜的机会,如果10次都没猜中,则则停止本次猜数,然后
继续猜下一个数,直到想停止为止。
3
3.程序流程
开始 输入一个0-100的值 a=i? 是 n=1 否 a>i a4
4.程序代码
#include int a; int n; game: srand(time( NULL ) ); a = rand()%100+1; //a是0-100之间的一个随机数 for(n=1;n<=10;n++) { printf(\"第%d轮游戏,输入您想猜的0~100之间的数: scanf(\"%d\ if (i >= 0 && i <= 100) if (i==a) { 5 \ printf(\"right\"); if(i==1) { printf(\"\\n您猜了%d次,太牛了.\\n\} else if(i>1&&i<6) { } else { } printf(\"\\n您一共猜了%d次,才猜对,很勉强啊.\\n\printf(\"\\n您一共猜了%d次,水平还行.\\n\ } else if (i > a) printf(\"\\n您猜的数过大,您还有%d次机会\\n\ else printf(\"\\n您猜的数过小,您还有%d次机会\\n\ else printf(\"正确答案%d\\n\ } 6 } if(n==11) { printf(\"\\n你输了!\\n\"); i=i+1; goto game; } return 0; 5.程序的调试过程及运行结果 1、随机数如何调用? 运用srand( (unsigned)time( NULL ) )函数。 2、”直到人猜对为止”功能如何实现? 运用一个“无穷循环”,另游戏能够不断进行,并运用break语句停止 于猜对情况。 3、“以此来反映猜数者“猜”的水平”功能的实现? 在猜对情况下的if语句中嵌套if语句实现“猜数次数”的判断,分支输出“猜”的水平。 4、“每次运行程序可以反复猜多个数”功能的实现? 此功能比较困难,但反复阅读程序后,发现代码并不复杂,运用goto语句和if语句的运用进行循环,即可实现此功能,且不会因为运用goto语句造成程序模块的混乱。 7 运行结果: 程序1 程序2 程序3 8 程序4 。 6.总结 此次实践题目是“猜数游戏”,题目分成4个部分,其实内容相同,只是功能逐渐增加。鉴于这种题目,编写程序中需要思考预留部分,比如运用if语句嵌套时,要注意把“猜对”、“猜错”和“误猜”分支出来,使程序容易阅读也容易进行修改。 在编写程序过程中,遇到几个核心问题,通过学习后把困难一个个突破,并成功实现题目所要求的功能。 最后,我对编程有进一步认识,而且在编程调试过程中,能够从中发现问题并解决问题,这是程序能够走向成功的必经之路,也是带来成功喜悦必不可少的过程。 9 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务