生成一个介于1到100之间的随机整数。接下来,用户需要通过猜测这个随机数来进行互动。每当用户进行一次猜测时,程序会根据猜测结果给予相应的提示。如果用户的猜测不准确,程序将提供有助于进一步猜测的提示,直到用户成功猜中这个随机数为止。在用户猜对数字后,程序应该终止提示并确认用户的猜测正确。整个过程需要确保用户通过逐步猜测和提示的方式最终能够找到计算机产生的确切数字。
1.rand()
函数用于生成一个伪随机整数,通常用于随机数生成和模拟。在使用 rand()
之前,通常需要调用 srand()
函数以设置随机数种子,从而确保每次程序运行时生成不同的随机数序列。rand()
函数返回一个介于 0 和 RAND_MAX
之间的整数,其中 RAND_MAX
是一个常量,表示 rand()
可能返回的最大值
2.time()
函数用于获取当前的系统时间。它返回一个 time_t
类型的值,该值表示从1970年1月1日00:00:00(协调世界时,即UNIX时间戳)起经过的秒数。常见的用法是在调用 srand()
函数之前使用 time(NULL)
来获取当前时间作为随机数生成器的种子,从而确保每次程序运行时产生不同的随机数序列。time()
函数的原型定义在 <time.h>
头文件中。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu(){
printf(" 1. paly \n");
printf(" 2. exit \n");
}
void game(){
int guess = 0;
int a = rand()%100+1;
while(1){
printf("请猜数字:>");
scanf("%d",&guess);
if (guess < a){
printf("猜小了\n");
}else if (guess > a){
printf("猜大了\n");
}else{
printf("恭喜你!猜对了!\n");
break;
}
}
}
int main(){
int input=0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请输入>");
scanf("%d",&input);
switch(input){
case 1:
game();
break;
case 2:
printf("退出游戏\n");
break;
default:
printf("输入错误,请重新选择!\n");
}
}while(input);
return 0;
}
编译结果: