C语言入门之猜数字游戏(1~100)---个人思路

C语言入门之猜数字游戏(1~100)---个人思路,第1张

1.初步写好主函数

使用do while循环

int main()
{
    int input = 0;
    do 
    {
        menu();//游戏的棋盘
        printf("请选择;>");
        scanf("%d", &input);
        switch (input)
        {
        case(1):
            game();//游戏的程序
            break;
        case(0):
            printf("退出游戏\n");
            break;
        default:

            break;
        }
    }while (input);//input为0时退出程序,非0时进入函数
    return 0;
}
    
2.定义棋盘内容
void menu() 
{
	printf("*****************************\n");
	printf("***********1. play***********\n");
	printf("***********0. exit***********\n");
	printf("*****************************\n");

}
3.game函数内容

void game()
{
    int guess = 0;
	srand((unsigned int)time(NULL));
       //放在主函数更好,不用每次使用时在game函数中重新调用
	   //(unsigned int)强制转为时间戳为srand函数可修饰的函数类型
	   //time(NULL)为时间戳,是一个时刻变化的随机值
	int ret = rand()%100+1;
       //生成随机数的函数,范围为0-RAND_MAX(0~32767),调用rand需要先调用srand
       //因所求解的范围为0~100以内,应为rand()%100+1;(%100所求余数氛围为0~99,+1范围变为0~100以内)
    while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess < ret)
			printf("猜小了\n");
		else if (guess > ret)
			printf("猜大了\n");
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}
4.最终代码
#define _CRT_SECURE_NO_WARNINGS 1
#include 
#include 
#include 

void menu() 
{
	printf("*****************************\n");
	printf("***********1. play***********\n");
	printf("***********0. exit***********\n");
	printf("*****************************\n");
}

void game()
{
	int guess = 0;
	int ret = rand()%100+1;
    //生成随机数的函数,范围为0-RAND_MAX(即0~32767);调用rand需要先调用srand
	//因所求解的范围为0~100以内,应为rand()%100+1;(%100所求余数氛围为0~99,+1范围变为0~100以内)
	while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess < ret)
			printf("猜小了\n");
		else if (guess > ret)
			printf("猜大了\n");
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}
int main()
{
	srand((unsigned int)time(NULL));
    //放在主函数更好,不用每次使用时在game函数中重新调用
	//(unsigned int)强制转为时间戳为srand函数可修饰的函数类型
	//time(NULL)为时间戳,是一个时刻变化的随机值
	int input = 0;
	do 
	{
		menu();
		printf("请选择;>");
		scanf("%d", &input);
		switch (input)
		{
		case(1):
			game();
			break;
		case(0):
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新选择\n");
			break;
		}
	}while (input);
	return 0;
}
	

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/797733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存