


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.C 语言编程题及答案(三)猜数游戏在这个实验中, 我们将尝试编写一个猜数游戏程序,这个程序看上去有些难度,但是如果按下列要求循序渐进地编程实现,会发现其实这个程序是很容易实现的。那么,现在就开始吧,先编写第1 个程序,然后试着在第1 个程序的基础上编写第2 个程序,程序 1编程先由计算机“想”一个1100 之间的数请人猜,如果人猜对了,则计算机给出提示“ Right!”,否则提示“ Wrong!”,并告诉人所猜的数是大(Too high)还是小( Too low),然后结束游戏。要求每次运行程序时机器所“想”的数不能都一样。程序 2 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对
2、了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。程序 3 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示, 告诉人所猜的数是太大还是太小,最多可以猜 10 次,如果猜了10 次仍未猜中的话,结束游戏。程序 4 编程先由计算机“想”一个1100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数
3、是太大还是太小,最多可以猜10 次,如果猜了10 次仍未猜中的话,则停止本次猜数, 然后继续猜下一个数。每次运行程序可以反复猜多个数,直到操作者想停止时才结束。【思考题】如果用 scanf 输入用户猜测的数据时,如果用户不小心输入了非法字符,如字符 a,那么程序运行就会出错,用什么方法可以避免这样的错误发生呢?请读者编写程序验证方法的有效性。整理版.答案:1.#include<stdio.h>#include<stdlib.h>#include<time.h>/* 将函数 time 所需要的头文件time.h 包含到程序中*/main()int magic;
4、/* 计算机 " 想 "的数 */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(&q
5、uot;Wrong!Too low!n");elseprintf("Right!n");printf("The number is:%dn", magic);整理版.2.#include<stdio.h>#include<stdlib.h>#include<time.h>main()int magic;/* 计算机 " 想 "的数 */int guess;/* 人猜的数 */int counter;/* 记录人猜的次数*/srand(time(NULL);magic = rand() %
6、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");pr
7、intf("counter = %dn", counter);整理版.3.#include<stdio.h>#include<stdlib.h>#include<time.h>main()int magic;/* 计算机 " 想 "的数 */int guess;/* 人猜的数 */int counter;/* 记录人猜的次数*/srand(time(NULL);magic = rand() % 100 + 1;counter = 0;doprintf("Please guess a magic number:
8、");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) && (counter<10);/* 猜不对且未超过10 次时继续猜 */整理版.printf("counter =
9、%dn", counter);4.#include<stdio.h>#include<stdlib.h>#include<time.h>main()int magic;/* 计算机 " 想 "的数 */int guess;/* 人猜的数 */int counter;/* 记录人猜的次数*/char reply;/* 用户输入的回答*/srand(time(NULL);domagic = rand() % 100 + 1;counter = 0;doprintf("Please guess a magic number:
10、");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) && (counter<10);/* 猜不对且未超过10 次时继续猜 */printf("counter = %dn", counter);printf("Do you want t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司技术分红合同标准文本
- 360推广合同样本
- 手绘效果图-课程教案
- 转供电协议书
- 中学生生命教育主题班会《珍爱生命》教案设计
- 入聘合同样本
- 2025中外技术研发合同范文
- 交易合同范例范例
- 文学社规章制度2篇
- 生命教育教案生命教育教案
- 《浅谈A企业消防安全管理中存在的问题及完善对策研究》6300字(论文)
- 秦汉考古Uooc课程答案
- 《电力建设工程施工安全管理导则》(NB∕T 10096-2018)
- 医疗器械考试题及答案
- 画饼充饥儿童故事绘本 课件
- 心理护理的沟通与技巧
- 开关、插座及其它电气设备技术规格书
- 早期阻断性矫治-乳前牙反颌的矫治(口腔正畸科)
- 手术室护士子宫切除手术护理配合常规
- DB61T 5097-2024 强夯法处理湿陷性黄土地基技术规程
- 药物临床试验统计分析计划书
评论
0/150
提交评论