猜数字游戏,c语言之猜数游戏:[1]?

轩辕剑3天之痕中,除了主线任务,还有不少支线任务 。在雷夏泽的师伯家外,陈靖仇会遇到一个名叫公山梦的小女孩 。她是师伯的孙女,和她对话,她会和你玩个猜数字的游戏,猜对后,她会送你一瓶不老之泉水,可以提高生命力上限 。
猜数字玩法简介
小女孩要你猜(对话,然后输入4个数字),如果数字的位置和字号都正确则会报阳,如果数字的字号正确但是位置不正确则会报阴 。在同一个存档中,数字是不变的(新开游戏,会随机生成),猜的次数不限 。
猜数字的方法技巧
这里讲一个怎么快速猜出数字的方法,不用动脑 。
第一步,从0-9,每次都猜相同的四个数字,比如0000 。
结果会有两种,1阳3阴和,一个都没中,如果是1阳3阴,四个数字里便有1,否则便没有 。
重复9次,便可以知道4个数字 。假设是1、5、9、0 。只是还不知道正确的排列顺序 。
第二步,现在开始试属性 。从第一步中,我们知道四个数字是1、5、9、0 。任意取出一个,然后和不是的数字搭配,然后猜 。比如1444,4144,4414,4441 。猜4次可以确定一的位置 。
然后猜3次确定5的位置 。
剩下的两个,互相对调,猜两次,就能成功了 。
【猜数字游戏,c语言之猜数游戏:[1]?】这个方法,最多猜9+4+3+2=18次即可猜出结果,而且不用思考 。

猜数字游戏,c语言之猜数游戏:[1]?

文章插图
c语言之猜数游戏:[1]?
1 写入所需头文件#include <stdlib.h>/*随机函数的申明*/#include <stdio.h> #include <time.h>
猜数字游戏,c语言之猜数游戏:[1]?

文章插图
2所需变量的定义 main(){int n,g,c=100,d=0,t;
srand( (unsigned)time( NULL ) );n=rand()%100;/*产生并调用随机数*/
猜数字游戏,c语言之猜数游戏:[1]?

文章插图
3 程序其他部分printf("please input the number you guess between 0 to 100t");scanf("%d",&g);while(g!=n){if(g<n){d=g;printf("That was small,n please guess it again and input a number between %d to %dn",d,c);
猜数字游戏,c语言之猜数游戏:[1]?

文章插图
scanf("%d",&t);g=t;}if(g>n) {c=g;printf("That was large,n please guess it againand input a number between %d to %dn",d,c) ;scanf("%d",&t);g=t;} }if(g==n)printf("ttt|----------|nttt|you got it|nttt|----------|n");printf("ntttGame overn");getch();}下如为运行结果
猜数字游戏,c语言之猜数游戏:[1]?

文章插图
猜数字游戏,c语言之猜数游戏:[1]?

文章插图