猜数字小游戏

刚学完分支循环语句,来做一个猜数字游戏的练习

一、游戏菜单

定义了一个没有返回值的无参函数men,来存放游戏菜单代码。

//游戏菜单界面
void men()
{
	printf("********************\n");
	printf("*******1、play******\n");
	printf("*******2、quit******\n");
	printf("********************\n");
}

二、游戏主要功能

2.1、生成随机数

定义了一个game函数,来实现猜数字游戏的功能。

第一个问题是产生一个随机数的问题,C语言提供了rand函数来生成随机数。使用rand函数时要包含<stdlib.h>头文件,rand返回0~RAND_MAX之间的数,RAND_MAX的大小依赖编译器的定义。

但当我们用rand函数时,发现两次生成的随机数一样

#include<stdio.h>
int main()
{
    int a =0;
    a=rand();
    printf("%d",a);
}

在这里插入图片描述
因为rand函数生成随机数是根据一个叫“种子”的基数来运算生成随机数的,种子默认是1。

所以使用rand函数之前要用srand函数来初始化这个种子。

srand的函数定义(转载于:月过枫):

viod srand(unsigned int seed);

要通过seed这个参数来设置rand函数生成随机数的种子。

我们用时间作为参数来赋值给srand函数。

C语言给了一个获得时间戳的函数time,使用time函数要包含<time.h>头文件。

time_t time(time_t timer);

time_t是一个长长整形类型的返回值,参数是一个指针。

生成随机数代码为:

#include <stdlib.h>
#include <time.h>
viod game()
{
    int a = 0;
    srand((unsignedint)time(NULL));
//生成0~100之间的数
    a=rand()%100+1;
}

2.2、猜数字对比

猜的数字大了,提示猜大了,猜的数字小了,提示猜小了,猜对,提示恭喜你猜对了,还要继续玩吗。因为猜不对要一直猜,所以需要将猜数字的代码放于while循环里。

while(1)
{
	printf("请输入要猜的数:");
	scanf("%d", &b);
 
    if (a > b)
	   printf("猜小了\n");
    else{
	   if (a < b)
		   printf("猜大了\n");
	   else{
		  printf("恭喜你猜对了,还要继续玩吗。\n");
		  break;
	        }
         }
}

以上就是我们对代码的实现过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值