猜数字游戏v2.0[C语言][自制]

本文介绍了一个C语言编写的猜数字游戏的第二版,游戏目标是判断并提示用户输入的四位数字与随机数的相同位置和不同位置。代码中未设置猜测次数限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

和室友做的第二个版本。具体就是判断四位数字是否相同,然后给出哪个位相同,哪个位不同XD。

具体思路:

用随机函数产生四位数字,然后一位位比较。这个是个so easy 版本,没有猜测次数限制XD

效果图:


代码如下:

/*GuessNumberGame2*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#pragma warning(disable:4996)

char random_number[4];


void show_line(void)   //产生分界线
{
	int i;
	for (i = 0; i < 80; i++)
		putchar('=');
}

void creat(void)  //产生四位数
{
	srand((unsigned)time(NULL));
	for (int i = 0; i < 4; i++)
    {
		random_number[i] = '0' + rand() % 10;
		if (i == 0 && random_number[i] == '0') i--; //防止开头是0
    }
}

void warning(void)
{
	printf("Please enter 4 positive numbers.eg:1123,1234,9943.\n\n");
}

int judge(char s[4])     //判断是否是四位数
{
	int i;
	if (s[0] == '0')
		return 0;
	for (i = 0; i < 4; i++)
		if (s[i]<'0' || s[i]>'9')
			return 0;
	return 1;
}

int main(void)
{
	int JUDGE;
	char guessnumber[5];
	printf("Guess Number Game 2 [Version 0.6]\n"
		"Copyright <c> 2014  632 Technical Team. All Right Reserved.\n\n");
	show_line();
	printf("这是一个猜数字游戏,规则如下:\n"
           "系统将随机产生一个四位数,请您进行猜测,我们会将"
		   "您输入的数字进行匹配。\n");
	creat(); //产生四位数
	beg:
	printf("Please enter four integer numbers:\n");
	printf("依次输入四位数的每一位数\n");
	gets(guessnumber);
	JUDGE=judge(guessnumber);   //判断是否是四位数
	while (JUDGE == 1)
	{
		printf("The number you write is:\n");
		for (int i = 0; i < 4; i++)
			printf("%c", guessnumber[i]);
        printf("\n");
		int f = 0, cnt = 0;
		while (f < 4)
		{
			if (random_number[f] == guessnumber[f])
			{
				printf("第%d位等\n", f + 1);
				++cnt; //统计是否都是正确的
			}
			else
			{
				printf("第%d位不等\n", f + 1);
			}
			f++;
		}
		if (cnt == 4)
        {
            printf("你猜对啦~\n");
            goto ed;
        }
		show_line();
		printf("Please enter four integer numbers:\n");
		printf("依次输入四位数的每一位数例如:\n");
		gets(guessnumber);
		JUDGE=judge(guessnumber);
	}
	if (JUDGE==0)
    {
        warning();
        goto beg;
    }
    ed:
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值