#include<stdio.h> #include<time.h> int main() { //srand(1)为伪随机,为了避免伪随机,使用time函数 srand((unsigned int)time(NULL));//srand用来初始化随机数生成器 //基准值变化,随机数发生变化 //%100 -> 0~99 %100+1->1~100 随机数 printf("%d\n", rand() % 100 + 1); printf("%d\n", rand() % 100 + 1); printf("%d\n", rand() % 100 + 1); printf("%d\n", rand() % 100 + 1); //C语言中time函数可以返回一个时间戳 //Unix 时间戳是从1970年1月1日 (UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 return 0; }
用C语言生成随机数的简单原理^
每次生产的随机数不同
完整代码
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<time.h> void meun() { printf("*********************\n"); printf("**** 1.play ****\n"); printf("**** 0.exit ****\n"); printf("*********************\n"); } void game() { int guess = 0; //生成随机数 int ret = rand()%100+1; //printf("%d\n", ret); //猜数字 int count = 5; while(count) { printf("你还有%d次机会\n",count); printf("请输入您要猜的数字\n"); scanf("%d",&guess); if (guess>ret) { printf("猜大了\n"); } else if(guess<ret) { printf("猜小了\n"); } else { printf("厉害哦,猜对了,数字是%d\n",ret); break; } count--; } if (count == 0) { printf("挑战失败,机会用完了,随机数是%d\n",ret); } } int main() { int input = 0; srand((unsigned int)time(NULL)); do { meun(); printf("请选择 => 1/0\n"); scanf("%d", &input);//1/0 switch (input) { case 0: { printf("退出游戏\n"); break; } case 1: { game(); break; } default:{ printf("选择错误,重新选择\n"); break; } } } while (input); return 0; }
运行结果
大家一起加油,多多练习,不要懈怠!!