猜数字游戏
来源:互联网 发布:2017年淘宝云客服招聘 编辑:程序博客网 时间:2024/05/22 00:04
输入一个数字,判断这个数字与随机产生的数字是否相同,如果不同则继续猜,直到猜对,然后继续开始新的游戏。
这个代码从大的思想上可以分两个模块:
1,声明还有枚举enum op和随机数的编写, 第一个模块挺简单的,不会的从MSDN可以找到。
2,用do while嵌套一个switch语句。
核心是 do while 语句中的嵌套,然后就是这个代码的发动机了。
(1)先 scanf 一个 input 用来选择 开始游戏 还是 退出游戏 ,
(2)①进入 switch 语句里,调用 随机数的函数 int num = rand()%100 生成数字(表示随机数在 1 - 100 大小,也可以选择更大范围的或者更小的),然后进入游戏开始猜数字。
②枚举enum op 中 PLAY = 1; EXIT = 2;本人建议使用这个,在以后编写大的工程中,case语句有很多,但是如果用数字1,2,3代表的话到最后会不太容易看起case中的功能,所以用一个有意义的字符代表1,2,3。。。的话会增强代码的可读性。
③在 case PLAY 中在嵌套一个 if 语句,表示已经开始猜数字游戏,判断输入数字与随机数是否相等,三个结果对应三个if else语句,一个大于,一个小于和一个等于,猜对之后输出对应的 printf 语句
④用一个while(1)重新进入游戏选项,然后继续下去。
大的框架就编写完成了,其余的代码只是用来优化这个游戏的,表示有些繁琐。。。
PS:当时我在写的时候,发现自己编写风格的陋习,起头写代码的时候只写了一个do,然后开始编写switch呀case什么的开始敲了,但是到最后测试的时候出现错误了,因为没有提前写好do while 结构导致最后大括号都不知道对应的哪个,花了十几分钟才改好。
#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){printf("*****累了困了就来猜猜数字*****\n");printf("*******1,开始游戏********\n");printf("**************************\n");printf("*******2,退出游戏********\n");}enum OP{ Y,PLAY,EXIT};int main() { int input = 0;do{ menu();srand( (unsigned)time(NULL) );printf("请输入: \n");scanf("%d",&input); switch(input){case PLAY:{ int i = 1; int num = rand()%100;int num2 = 0; printf(" 你能猜出么?\n"); while(1) { scanf("%d",&num2); if(num2<num) { printf("猜小了\n"); if(i>3) { printf("能猜对么你?\n"); printf("你怎么那么笨啊,继续猜->"); } else { printf("换个大一点的数字试试\n"); printf("请重新输入一个数字—>\n"); } printf("\n"); } else if(num2>num) { printf("猜大了\n"); if(i<3) { printf("能猜对么你?\n"); printf("你怎么那么傻啊,继续猜->"); } else { printf("换个小一点的数字试试\n"); printf("请重新输入一个数字—>"); } i++; } else { printf("成功猜对,快去写代码吧。\n"); } } } case EXIT:{ printf("正在退出\n");break; } }} while(input-2); return 0;}
- 游戏_猜数字
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏源码
- 猜数字游戏
- 猜数字游戏
- python猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 关于猜数字游戏
- 猜数字游戏实现
- 猜数字游戏
- 模拟猜数字游戏
- 猜数字游戏
- 指向函数的指针
- 浅谈关于空格和回车对于输入函数的影响
- 卷积神经网络CNN(3)—— FCN(Fully Convolutional Networks)要点解释
- Android如何避免OOM总结
- c++ 多线程编程 条件变量
- 猜数字游戏
- mysql中文排序(按照中文拼音顺序排序)
- NoSQL
- 五中排序算法性能比较总结
- Java练习
- [JNI] 开发基础(1) c语言基本类型
- java基础练习 01字串
- 第十四周项目三——折腾二维数组
- Linux下Nginx、MySQL、PHP5、phpMyAdmin安装与配置