文曲星的实现
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
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 < 4; i++)
{
scanf("%d", &guess[i]);
}
} while (guess[0] == guess[1] || guess