早教吧 育儿知识 作业答案 考试题库 百科 知识分享

c语言猜数字有一定的容错功能,界面友好,功能齐全。游戏规则:a,一个四位数,各位上的数字不重复,从1到9。b,按以下提示猜出这个四位数。c,每次猜测输入的数据给出类似的提示*A*B

题目详情
c语言猜数字
有一定的容错功能,界面友好,功能齐全。
游戏规则:
a,一个四位数,各位上的数字不重复,从1到9。
b,按以下提示猜出这个四位数。
c,每次猜测输入的数据给出类似的提示*A*B。
d,其中A前的*代表你本次猜对了多少个数字。
e,其中B前的*代表你本次猜对的数字并且位置正确的个数。
可以用的,准确的,我追加10分
大哥们,救救急啊。
▼优质解答
答案和解析
#include
#include
#include
#include
void main_menu(void);
void score_menu(int score);
void help_menu(void);
int play_game(void) ;
int main() {
char main_menu_choose;
int score = 0;
while (1) {
main_menu(); //输出主菜单目录
main_menu_choose = 'y';
do {
char temp;
temp = getch();
if (temp >= '0' && temp <= '3') {
main_menu_choose = temp;
}
} while (main_menu_choose == 'y');
switch(main_menu_choose){
case '0':
return 0;
case '1':
score = play_game();
break;
case '2':
score_menu(score);
break;
case '3':
help_menu();
break;
default :
break;
}
}
}
void main_menu(void)
{
printf("1:开始游戏!2:查看上次成绩!3:输出帮助信息!0:退出程序!\n");
return ;
}
void score_menu(int score)
{
printf("分数是:%d\n", score);
printf("任意键返回主目录:\n");
getch();
return ;
}
void help_menu(void)
{
printf("帮助信息:\n");
printf("任意键返回主目录:\n");
getch();
return ;
}
int play_game(void) {
char target[4];
char guess[4];
int input_flag;
char game_flag;
char input_temp;
unsigned int i, j, x, y;
int score = 100;
srand(time(NULL));
target[0] = '0' + rand() % 10;
target[1] = '0' + rand() % 10;
target[2] = '0' + rand() % 10;
target[3] = '0' + rand() % 10;
printf("Input your guess:\n");
game_flag = 'y';
while (game_flag == 'y' || game_flag == 'Y') {
input_flag = 3;
printf("输入你猜测的数值:\n");
while (input_flag >= 0) {
input_temp = getchar();
guess[input_flag] = input_temp;
input_flag--;
if(input_temp == 'n' || input_temp == 'N'){
game_flag = 'n';
}
}
x = y = 0;
for (i = 0; i < 4; ++i) {
if (target[i] == guess[i]) {
x++;
}
for (j = i + 1; j < 4; ++j) {
if (target[i] == guess[j]) {
y++;
}
}
}
if (x != 4) {
printf("%dA %dB\n", y, x);
getchar();
score -= 10;
} else {
printf("恭喜你猜对了!\n");
return score;
}
}
return 0;
}
界面不是很好,留给你自己设计了。
看了c语言猜数字有一定的容错功能,...的网友还看了以下:

六3班数学期末测试成绩优秀率达到了70%,及格率是98%六(3)班数学期末测试()的人数占全班人数  2020-04-26 …

在海难打捞中,沉船定位和测量海深都要用到超声测位仪(又叫“声呐”),它的探测系统将所获得的数据送到  2020-05-20 …

测试程序使用的数据应______。A.数量少,测试全面B.数据量大,测试全面C.使用大量真实数据D.  2020-05-24 …

关于铁路路基压实质量的检测,监理单位的平行检验问题.监理检验按施工单位检验数量的10%进行检验,应  2020-06-20 …

(2011•郑州模拟)下面是长江汛期一个水位监测站中月16日全天至中月1日凌晨记录的水位情况.(1  2020-06-21 …

求题目答案阿灵在计算这样一道题:求所给17个自然数的平均数,结果保留2位小数,他得的结果是11.2  2020-08-01 …

为了安全起见,高速公路同一车道上行驶的前后两辆汽车之间的距离不得小于kx2(单位:m)其中x(单位  2020-08-02 …

下面是长江汛期一个水位监测站8月16日全天至8月1日凌晨记录的水位情况.(1)记录员每隔小时作分次观  2020-11-05 …

一个数的亿位是7,百位和十位都是2其他数位全是0这个数读作写作改成以为单位的数是原数四舍五入万位  2020-11-20 …

一个数的亿位是7,百位和十位都是2其他数位全是0这个数读作写作改成以亿为单位的数是原数四舍五入万  2020-11-20 …