赞
踩
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;
}
结果运行: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;
}
多次运行后输出的结果不同,并且有逐渐变大,逐渐变小的趋势
规定0-9之内的数字
int a = rand() % 10; //产生0~9的随机数,注意10会被整除,不包括10
规定12-36(包括36)
int a = rand() %25+12;
则可以看作是从(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("输错了"); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。