1、实现

首先产生一个[0,1000]的随机整数,然后用键盘输入猜测的值后系统提示猜大了或者猜小了同时cnt进行计数记录猜测的总数,然后继续猜测并进行判断,直到猜到正确的值。玩家们可通过猜测的次数去相互进行比赛。

2、代码分析

srand()为初始化随机数发生器,用于设置rand()产生随机数时的种子。

原型:void srand(unsigned seed);

用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。

通常我们会使用time(0)或time(NULL)的返回值作为seed。使得随机数种子随时间的变化而变化。

rand()函数的调用
rand()函数每次调用前都会查询是否调用过srand(seed),是否给seed设定了一个值,如果有那么它会自动调用srand(seed)一次来初始化它的起始值。
若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)自动调用它一次。

例如:
rand()%100就是产生[0,99]之间的随机数   
rand()%100+1就是产生[1,100]之间的随机数

rand()%(n-m+1)+1就是产生[m,n]之间的随机数

代码如下:

#include<stdio.h>
#include<stdlib.h> #define M 0
#define N 1000int main() {int random,num,cnt = 0;/* 产生一个M到N之间的随机正整数 */    srand(time(0));random = rand()%(N-M+1)+M;//printf("random = %d\n",random);while(1) {printf("please input guess number:");scanf("%d",&num);if(num > random) {cnt++;printf("往小点猜\n");}else if(num < random) {cnt++;printf("往大点猜\n");} else {printf("恭喜您,猜对啦。\n");cnt++;break;} }printf("共猜了%d次",cnt);    return 0;
}

【c语言】产生一个1到1000的随机整数,用户进行猜测相关推荐

  1. Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加

    2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加 题目 题目描述 运行示例 题目槽点与破题 题目槽点 破题 如何提取数字 代码块 方法评价 题目 题目描述 2.6 ...

  2. java 生成一个随机整数,范围从 1 到 10;或 生成一个 0 或 1 的随机整数

    // 生成一个随机整数,范围从 1 到 10 int random = new Random().nextInt( 10 ) + 1; 测试一下: for(int i = 0; i < 10; ...

  3. C语言实数四舍五入为整数,c语言输入一个实数,求其四舍五入的整数

    输入两个正整数m和n,求其最大公约数和最小公倍数.用C语言编程 输入两个正整数m和n,求其最大公约数和最小公倍数.用辗转相除法求最大公约数算法描述:m对n求余为a,若a不等于0则m0){m_cup=m ...

  4. C++语言书写一个程序oct2dec,输入为整数的八进制,输出为其十进制。以下是程序的结果

    #include #include using namespace std; int main(void) { int i,j,k,l; cout<<"Input i:" ...

  5. matlab基数排序,c语言 数据结构 利用随机函数产生N个随机整数,对这些数进行多种方法进行排序...

    满意答案 srand(time(NULL)); //产生随机数 for(i = 0; i < n; i++) a[i] = rand()%(n - i); extern void insert( ...

  6. 【算法】c语言,输入一个不大于1000的正整数n(n>1),输出所有小于等于n的素数。

    #include "stdio.h" main() {int n,m,i,k=0;printf("\n从键盘输入一个不大于1000的正整数(n>1) N=" ...

  7. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  8. python restful api_用Python语言写一个restful API

    本文主要向大家介绍了用Python语言写一个restful API,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. """ package.modul ...

  9. c语言输出字母随机数,你好,怎样用c语言输出一个1到100的随机数

    你好,怎样用c语言输出一个1到100的随机数以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你好,怎样用c语言输出一个1 ...

  10. 用C语言实现一个简单的一元线性回归算法

    今天我们用C语言实现一个简单的线性回归算法:在代码前面我们在回顾一下线性回归. 线性回归是回归问题中的一种,线性回归假设目标值与特征是线性相关的,即满足一个多元一次方程式.通过构建损失函数,来求解损失 ...

最新文章

  1. 【逆序对】Ultra - Quicksort
  2. 40+场面试,100%通过率,我想分享的 14 条经验
  3. MySQL存储过程详解 mysql 存储过程
  4. stm32f103c8t6掉坑记
  5. 老BOJ 13 K-based Numbers
  6. SAP Cloud for Customer upselling的前台实现
  7. 从单亲家庭内向小男生到哈佛耶鲁全奖,百万年薪的“男神学长”活出了一部励志偶像剧!
  8. Linux系统编程12:进程入门之进程的优先级及PR和NI如何修改进程优先级
  9. python远程主机强迫关闭了_Python 远程主机强迫关闭了一个现有的连接
  10. 页面 动态显示cmd执行结果_把代码执行演示嵌在你的PPT中
  11. java求最大子数组 (分治算法)
  12. java用正则表达式大全_Java 正则表达式 大全
  13. 实对称矩阵的相似对角化
  14. 以寡治众各个击破,超大文件分片上传之构建基于Vue.js3.0+Ant-desgin+Tornado6纯异步IO高效写入服务
  15. ue4创建c++类编译失败
  16. Ubuntu18.04安装ceres-solver
  17. Latex 论文引用
  18. 五个温度带的分界线_五带的分界线??
  19. 词霸天下---词根234【-zo(o)- 动 物】
  20. 十六、MDT 2013 Update 1批量部署-应用程序导入及自动安装(含OFFICE 2007安装)

热门文章

  1. CodeVS 1359 数字计数 51nod 1042 数字0-9的数量 Pascal
  2. IT 最高,2018 年全国平均年薪!非私企 147,678¥
  3. 电信 IPRAN 设备组网方案_ZGQHBJ组网视频监测点组网方案
  4. 2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!(转载)
  5. 三个小李子讲述安卓动画用法
  6. node.js setup wizard ended prematurely 失败解决方法
  7. python根据手表货号从腕表之家网站爬取相应信息
  8. CMM(Capability Maturity Model) 能力成熟度模型
  9. 用c语言求20以内的勾股数,C语言求勾股数代码及解析
  10. 友盟统计如何去掉“站长统计”