
玩家猜数游戏(v1.0)
发布日期:2021-05-08 01:16:43
浏览次数:28
分类:精选文章
本文共 2641 字,大约阅读时间需要 8 分钟。
题目要求:
1. 系统随机生成一个0~99之间的整数;
2. 玩家输入一整数, 若和系统随机生成的数匹配, 则可随机抽取一二三等奖(由系统随即决定);
3. 若输入的数和系统随机生成的数不匹配, 系统根据玩家给出的数值进行大小提示;
4. 玩家共有十次机会猜数, 若十次过后依旧未能猜中, 系统提示机会已经用完.
[运行问题汇总] ①若将f()函数中的magic、guess变量更改为char类型, 无论你输入多少次未能匹配的数值, 计数变量i的值一直停留在1, 而未能按照设想一直增1. ②rand()函数虽然可以生成随机数, 但每次运行程序时生成的随机数都是一样的.
[注]为了节省主存空间, 我将数值范围较小的数值全部用char类型变量存储.
问题程序:
#include#include char f()//用户猜数流程{ char magic=rand()%100;//生成一个介于0~99间的整数(包括0和99) char guess;//记录用户输入的整数 char i=0;//循环计数变量 printf("当前次数:\n"); while(i<10) { printf("%d. 请输入一个介于0~99之间的整数: ", i+1); //printf("i=%d\n", i);//调试语句 scanf("%d", &guess); if(guess==magic) { printf("猜对了!\n"); return 1; } else if(guess>magic) { printf("猜大了!\n"); } else { printf("猜小了!\n"); } i++; } //若程序执行至此, 说明10次猜数机会已经用完. return 0;}char f2()//若用户猜对, 此程序随机决定用户的获奖等级{ char c=rand()%100;//随机生成一个0~99的整数 if(c<=5) { return 1; }//一等奖 else if(c<=30) { return 2; }//二等奖 else { return 3; }//三等奖}int main(){ if(f()==1) { printf("恭喜您, 奖品到手!\n"); if(f2()==1) { printf("一等奖.\n"); } else if(f2()==2) { printf("二等奖.\n"); } else { printf("三等奖.\n"); } } else { printf("很遗憾, 您的10次机会已经用完, 欢迎再次参与!\n"); } // return 0;}
正确程序:
#include#include char f()//用户猜数流程{ int magic=rand()%100;//生成一个介于0~99间的整数(包括0和99) int guess;//记录用户输入的整数 char i=0;//循环计数变量 printf("当前次数:\n"); while(i<10) { printf("%d. 请输入一个介于0~99之间的整数: ", i+1); //printf("i=%d\n", i);//调试语句 scanf("%d", &guess); if(guess==magic) { printf("猜对了!\n"); return 1; } else if(guess>magic) { printf("猜大了!\n"); } else { printf("猜小了!\n"); } i++; } //若程序执行至此, 说明10次猜数机会已经用完. return 0;}char f2()//若用户猜对, 此程序随机决定用户的获奖等级{ char c=rand()%100;//随机生成一个0~99的整数 if(c<=5) { return 1; }//一等奖 else if(c<=30) { return 2; }//二等奖 else { return 3; }//三等奖}int main(){ if(f()==1) { printf("恭喜您, 奖品到手!\n"); if(f2()==1) { printf("一等奖.\n"); } else if(f2()==2) { printf("二等奖.\n"); } else { printf("三等奖.\n"); } } else { printf("很遗憾, 您的10次机会已经用完, 欢迎再次参与!\n"); } // return 0;}
发表评论
最新留言
很好
[***.229.124.182]2025年04月01日 06时02分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?
2021-05-09
Vue3发布半年我不学,摸鱼爽歪歪,哎~就是玩儿
2021-05-09
《实战java高并发程序设计》源码整理及读书笔记
2021-05-09
Java开源博客My-Blog(SpringBoot+Docker)系列文章
2021-05-09
程序员视角:鹿晗公布恋情是如何把微博搞炸的?
2021-05-09
【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
2021-05-09
Linux应用-线程操作
2021-05-09
多态体验,和探索爷爷类指针的多态性
2021-05-09
系统编程-进程间通信-无名管道
2021-05-09
记2020年初对SimpleGUI源码的阅读成果
2021-05-09
C语言实现面向对象方法学的GLib、GObject-初体验
2021-05-09
系统编程-进程-ps命令、进程调度、优先级翻转、进程状态
2021-05-09
为什么我觉得需要熟悉vim使用,难道仅仅是为了耍酷?
2021-05-09
一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
2021-05-09
HDOJ2017_字符串统计
2021-05-09
高等软工第二次作业《需求分析阶段总结》
2021-05-09
404 Note Found 团队会议纪要
2021-05-09
CentOS安装Docker-ce并配置国内镜像
2021-05-09