C语言 关于猜随机数游戏的代码

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
   结尾有所有代码展示啊,别跑哈。

目录

项目中解决的问题

做题思路

最后有总的代码展示如下。


  • 项目中解决的问题

该游戏中会有关于随机函数的调用问题以及所处的位置的关系。

void game()       //定义game函数来实现游戏运行
{
	//1.先要生成随机数,其指令是rand,引用rand需要头文件stdlib.h
	//srand((unsigned int)time(NULL));      //NULL为引用空值,因为time函数有值,time前括号为强制转换。此句可将其放入主函数中
	int num = rand()%100+1;   //但是rand返回0到32767之间的数字,不够随机,所以改变方法如上。
	  
	//printf("%d\n", num);
	//2.在进行猜数字。
	int guess;
	while (1)
	{
		printf("请猜数字:\n");
		scanf("%d", &guess);
		if (guess < num)
			printf("猜小了\n");
		else if (guess > num)
			printf("猜大了\n");
		else
		{
			printf("恭喜你猜对了,请重新选择是否游戏\n");
			break;
		}
	}
}

  • 做题思路

首先将整体的游戏框架可做流程图勾出,然后写下大的框架,如下。

int main()
{
	int input = 0;

	srand((unsigned int)time(NULL));
	do 
	{
		menu();     //打印菜单
		printf("请选择\n");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			
			break;
		case 0:
			
			break;
		default:
	
			break;
		}
	} while (input);
	return 0;
}

  • 今天get到的小技巧:

通过视频学习,可以让我们更快的学会具体的函数的用法,并且我也学会了srand的用法以及时间戳的概念。

  • 最后有总的代码展示如下。

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void menu()
    {
    	printf("****************************\n");
    	printf("********  1.0 play  ********\n");
    	printf("********  0.exit    ********\n");
    	printf("****************************\n");
    
    }
    
    void game()       //定义game函数来实现游戏运行
    {
    	//1.先要生成随机数,其指令是rand,引用rand需要头文件stdlib.h
    	//srand((unsigned int)time(NULL));      //NULL为引用空值,因为time函数有值,time前括号为强制转换。此句可将其放入主函数中
    	int num = rand()%100+1;   //但是rand返回0到32767之间的数字,不够随机,所以改变方法如上。
    	  
    	//printf("%d\n", num);
    	//2.在进行猜数字。
    	int guess;
    	while (1)
    	{
    		printf("请猜数字:\n");
    		scanf("%d", &guess);
    		if (guess < num)
    			printf("猜小了\n");
    		else if (guess > num)
    			printf("猜大了\n");
    		else
    		{
    			printf("恭喜你猜对了,请重新选择是否游戏\n");
    			break;
    		}
    	}
    }
    
    int main()
    {
    	int input = 0;
    
    	srand((unsigned int)time(NULL));
    	do 
    	{
    		menu();     //打印菜单
    		printf("请选择\n");
    		scanf("%d", &input);
    		switch (input)
    		{
    		case 1:
    			printf("猜数字\n");
    			game();
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("选择错误,请重新选择\n");
    			break;
    		}
    	} while (input);
    	return 0;
    }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值