您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页猜数游戏实践报告

猜数游戏实践报告

来源:华佗健康网


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 #include #include void main() { int i;

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务