用srand()和rand()生成1~100的随机数字和创建猜数字小程序

本文深入解析了如何使用C/C++中的rand()函数生成伪随机数,并通过 srand(time(NULL)) 设置随机数种子以增加随机性。同时介绍了如何利用这些技巧实现一个简单的猜数字小游戏,让读者掌握基本的随机数生成和应用技巧。
摘要由CSDN通过智能技术生成

 这个程序是用来生成10个1~100的数。

随机数生成代码的分析

关键代码是:srand = ((unsigned)time(NULL));

                      int a = rand()%100+1;

rand()函数所需头文件是#include<stdlib.h>

rand()是生成伪随机数的函数,它会按照一定的序列来生成随机数,但是它序列是固定的:

程序每次执行它都将按照这个序列来给出随机数,所以在对rand()不加限制条件的话,生成的随机数不够随机。

time()函数所需要头的头文件是:#include<time.h>

time()函数,值得注意的是time函数的形参,这个形参是个指针变量,通常写为time(NULL)。这个函数的功能是,返回自1970年1月1日00:00:00到你先在电脑运行的时间(例:2018年3月24日14:14:00)之间的时间。这个数是随机的,随着你电脑运行时间而发生改变。

srand()函数所需要的头文件是:#include<stdlib.h>

srand()函数是伪随机数发生器种子,它给rand()函数一个产生一个起点。在单独使用rand()函数的时候,它将1作为默认参数。srand()的形参是一个无符号的类型,即unsigned类型,可以是int,float,char等等。但在这里为了达到随机数效果,将使用time()函数来产生一个起点,它直接作用于rand()函数。

注意:int a  = rand()%100+1

rand()%100+1是为了产生1~100以内的随机数。

二、猜数字的小程序

 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个基于C语言的猜数字游戏程序,其中人通过判断大小来猜测。 程序流程: 1.程序随机生成一个1~100之间的。 2.让用户输入一个,程序判断该是否等于随机生成,如果相等,输出“恭喜你,猜对了”,程序结束。如果不相等,转到步骤3。 3.程序判断用户输入的与随机生成的大小关系,如果用户输入的小于随机生成,输出“你猜的太小了”,让用户重新输入。如果用户输入的大于随机生成,输出“你猜的太大了”,让用户重新输入,转到步骤2。 以下是程序代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int answer, guess; srand(time(NULL)); answer = rand() % 100 + 1; //随机生成1~100之间的 printf("猜数字游戏开始!\n"); do { printf("请输入一个1~100之间的:"); scanf("%d", &guess); if (guess == answer) { printf("恭喜你,猜对了!\n"); break; } else if (guess < answer) { printf("你猜的太小了!\n"); } else { printf("你猜的太大了!\n"); } } while (1); return 0; } ``` 程序运行效果: ``` 猜数字游戏开始! 请输入一个1~100之间的:50 你猜的太大了! 请输入一个1~100之间的:25 你猜的太小了! 请输入一个1~100之间的:37 你猜的太大了! 请输入一个1~100之间的:31 你猜的太小了! 请输入一个1~100之间的:34 恭喜你,猜对了! ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值