当前位置:   article > 正文

c语言生成随机数_c语言产生两个随机数

c语言产生两个随机数

生成随机数

rand()函数在stdlib.h的头文件中。
rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数。RAND_MAX 是 <stdlib.h> 头文件中的一个宏,它用来指明 rand() 所能返回的随机数的最大值。C语言标准并没有规定 RAND_MAX 的具体数值,只是规定它的值至少为 32767。所以在实际编程中,我们也不需要知道 RAND_MAX 的具体值,把它当做一个很大的数来对待即可。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a=rand();
	printf("%d\n",a);
	return 0;
 } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

结果运行:41
这种方法每次输出的随机数都是一样的。

每次输出的随机数都不同

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    int a;
    srand((unsigned)time(NULL));
    a = rand();
    printf("%d\n", a);
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

多次运行后输出的结果不同,并且有逐渐变大,逐渐变小的趋势

生成一定范围内的随机数

规定0-9之内的数字

int a = rand() % 10;    //产生0~9的随机数,注意10会被整除,不包括10
  • 1

规定12-36(包括36)

int a = rand() %25+12;
  • 1

则可以看作是从(0–25)+12,表示12–37(包括36)
则rand()%26 表示0–25 rand()%26+12 表示12-36

猜字游戏

题目要求:
电脑应随机产生一个数字(为便于玩家猜测,所以选择1~100)
玩家输入所猜数字,电脑给予反馈。
玩家得知反馈后进行进一步操作。(如:所猜数字过大,所猜数字过小,所猜数字正确(是否重玩一局)———>暂时没有写出)
每次执行程序获取到的随机数应不相同
创建一个结构体, 包含名字和密码两个字段, 提前准备一个实体(设置它的名字为admin, 密码为123), 玩游戏前需验证名字和密码(可选做)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
struct game{
	char name;
	int mima;
}game;
void hanshu(int num)
{
	int a=rand()%101;
	while(1)
	{
		printf("请输入数字:\n");
		scanf("%d",&num);
		if(num>a)
			printf("猜大了\n");
		else if(num<a)
			printf("猜小了\n");
		else
		{
			printf("恭喜猜对了"); 
			break; 
		 } 
	}
}
int main()
{
	printf("请输入姓名:\n");
	scanf("%c",&game.name);
	printf("请输入密码:\n"); 
	scanf("%d",&game.mima);
	if(game.name =='a' && game.mima==1)
	{
		int n;
		srand((unsigned int)time(NULL));
		hanshu(n);
	}
	else
	{
		printf("输错了"); 
	}
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/84087
推荐阅读
相关标签
  

闽ICP备14008679号