【C语言】文曲星猜数字(包学会喔~)
文曲星的实现
- 1、文曲星猜数字游戏规则
- 2、模拟文曲星猜数字游戏
- 3、代码块分析
1、文曲星猜数字游戏规则
文曲星猜数字游戏是一款经典的益智游戏,游戏的目的是让玩家猜测一个由四位数字组成的密码。以下是该游戏的规则:
-
生成数字:游戏开始时,系统会随机生成一个四位数,这个数字是由0到9中的四个不同数字组成的。
-
猜测数字:玩家需要尝试猜测这个四位数是什么。玩家每次猜测时,需要输入四个数字。
-
获取反馈:每次玩家猜测后,系统会给出反馈,通常是一个包含两个字符的字符串,如xAyB。其中,A表示玩家猜测中有多少位数字不仅是正确的,而且位置也是正确的;B表示玩家猜测中有多少位数字是正确的,但不考虑位置。
-
猜测次数限制:玩家通常有一定的次数来猜测这个数字,比如10次。如果玩家在有限的次数内没有猜中,系统会显示出正确的数字。
-
胜利条件:玩家在限定的次数内猜中了这个四位数,就算作胜利。
正片开始
2、模拟文曲星猜数字游戏
模拟文曲星上的猜数游戏,先由计算机随机生成一个各位相异的4位数字,由用户来猜,根据用户猜测的结果给出提示:xAyB。其中,A前面的数字(即x)表示有几位数字不仅数字猜对了,而且位置也正确,B前面的数字(即y)表示有几位数字猜对了,但是位置不正确。允许用户猜的最多次数由用户从键盘输入。如果猜对,则提示Congratulation!;如果在规定的次数以内仍然猜不对,则给出提示Sorry,you haven't guess the right number!。程序结束之前,在屏幕上显示这个正确的数字。
思路:
先定义三个数组,第一个数组用来存放正确答案(即计算机随机生成的四个互不相同的数字),第二个数组用存放用户猜测的4个不相同的数字,第三个数组用来存放x和y。然后定义一个函数Answer用来生成4个互不相同的数字,接着定义一个函数Guess给用户输入4个不相同的数字,最后定义一个函数Judge用来判断用户猜对的情况。
代码实现:
#define _CRT_SECURE_NO_WARNINGS #include #include #include void Answer(int answer[]) { do { answer[0] = rand() % 10; answer[1] = rand() % 10; answer[2] = rand() % 10; answer[3] = rand() % 10; } while (answer[0]==answer[1]||answer[0]==answer[2]||answer[0]==answer[3] ||answer[1]==answer[2]||answer[3]||answer[2]==answer[3]); } void Guess(int guess[]) { printf("请输入4个不相同的数字:"); do { int i = 0; for (i = 0; i
-