循环结构编程练习.doc_第1页
循环结构编程练习.doc_第2页
循环结构编程练习.doc_第3页
循环结构编程练习.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 循环结构编程练习题目:猜数游戏在这个实验中,我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果你按下列要求以循序渐进方式进行编程实现,你就会发现其实这个程序是很容易实现的。那么,现在就开始吧,现编写第一个程序,然后试着在第一个程序的基础上编写第二个程序,。程序1:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则计算机给出提示:“Right!”, 否则提示:“Wrong!”,并告诉人所猜的数是大(Too high)还是小(Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都是一样的。程序2:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。程序3:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则结束游戏。程序4:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。实验授课提示:通过这个实际例子熟悉选择结构程序设计的方法,以及各种循环语句。while、do-while和for语句则用于循环结构,其中,while和for语句是在循环顶部进行循环条件测试,如果循环条件第一次测试就为假,则循环体一次也不执行,而do-while语句是在循环底部进行循环条件测试,因此,do-while循环至少执行一次。因此,除非循环条件第一次测试就为假,否则,这三种循环语句可以相互替代。其中,更为常用、也更为灵活的是for语句,do-while语句适合于构造菜单子程序,因为菜单子程序至少要执行一次,用户键入有效响应时,菜单子程序采取相应动作,键入无效响应时,则提示重新输入。参考答案:实验三 循环结构编程练习程序1参考答案:#include #include #include /*将函数time所需要的头文件time.h包含到程序中*/main() int magic; /*计算机“想”的数*/ int guess; /*人猜的数*/srand(time(NULL); /*用标准库函数srand为函数rand设置随机数种子*/ magic = rand() % 100 + 1; printf(“Please guess a magic number:”);scanf(“%d”, &guess); if (guess magic) printf(“Wrong!Too high!n”); else if (guess magic) printf(“Wrong!Too low!n”); else printf(“Right!n”); printf(“The number is:%dn”, magic); 程序运行结果如下:Please guess a magic number:40Wrong!Too low!程序2参考答案:#include #include #include main() int magic; /*计算机想的数*/ int guess; /*人猜的数*/int counter; /*记录人猜的次数*/srand(time(NULL); magic = rand() % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong!Too high!n);else if (guess magic) printf(Wrong!Too low!n);while (guess != magic); /*直到人猜对为止*/printf(Right!n); printf(counter = %dn, counter); 程序运行结果如下:Please guess a magic number:50Wrong!Too low!Please guess a magic number:90Wrong!Too high!Please guess a magic number:70Wrong!Too high!Please guess a magic number:60Wrong!Too high!Please guess a magic number:55Wrong!Too high!Please guess a magic number:52Right!counter = 6程序3参考答案:#include #include #include main()int magic; /*计算机想的数*/ int guess; /*人猜的数*/int counter; /*记录人猜的次数*/srand(time(NULL); magic = rand() % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong!Too high!n);else if (guess magic) printf(Wrong!Too low!n);elseprintf(Right!n);while (guess!=magic) & (counter10);/*猜不对且未超过10次时继续猜*/ printf(counter = %dn, counter); 程序两次测试的运行结果分别如下:Please guess a magic number:50Wrong!Too low!Please guess a magic number:80Wrong!Too high!Please guess a magic number:60Wrong!Too high!Please guess a magic number:55Right!counter = 4Please guess a magic number:40Wrong!Too low!Please guess a magic number:90Wrong!Too high!Please guess a magic number:80Wrong!Too high!Please guess a magic number:70Wrong!Too high!Please guess a magic number:60Wrong!Too high!Please guess a magic number:55Wrong!Too high!Please guess a magic number:50Wrong!Too high!Please guess a magic number:45Wrong!Too high!Please guess a magic number:44Wrong!Too high!Please guess a magic number:43Wrong!Too high!counter = 10程序4参考答案:#include #include #include main() int magic; /*计算机想的数*/ int guess; /*人猜的数*/int counter; /*记录人猜的次数*/char reply; /*用户键入的回答*/srand(time(NULL); domagic = rand() % 100 + 1; counter = 0; doprintf(Please guess a magic number:);scanf(%d, &guess); counter +; if (guess magic) printf(Wrong!Too high!n);else if (guess magic) printf(Wrong!Too low!n);elseprintf(Right!n);while (guess!=magic) & (counter10);/*猜不对且未超过10次时继续猜*/ printf(counter = %dn, counter); printf(Do you want to continue(Y/N or y/n)?);scanf(%1s, &reply);while (reply = Y) | (reply = y);printf(The game is over!n);程序运行结果如下:Please guess a magic number:50Wrong!Too low!Please guess a magic number:80Wrong!Too low!Please guess a magic number:90Wrong!Too high!Please guess a magic number:85Wrong!Too high!Please guess a magic number:83Right!counter = 5Do you want to continue(Y/N or y/n)?yPlease guess a magic number:50Wrong!Too low!Please guess a m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论