猜数游戏。输入你所猜的数(假定为1-100),与计算机产生的被猜数相比较,若相等,则显示猜中,若不等,显示与被猜数的大小关系,最多允许猜7次。
//猜数游戏
#include<stdio.h>
#include<time.h>
#include<stdlib,h>
int main(void)
{
int mynumber,i=0,yournumber,flag;
printf("Enter mynumber:");
scanf("%d",&mynumber);
srand(time(0)); //设随机数的产生与系统时钟关联
mynumber=rand()%100+1; //计算机随机产生了一个1-100之间的被猜数
flag=0; //flag的值为0表示没猜中,为1表示猜中了
while(i<7){ //最多猜7次
printf("Enter yournumber :");
scanf("%d",&yournumber);
i++;
if(yournumber==mynumber){
printf("Lucky You!\n");
flag=1;
break;
}else if (yournumber > mynumber ){
printf("Too big!\n");
}else {
printf("Too small!\n");
}
}
if(flag==0){ //超过7次还没猜中,提示游戏结束
printf("Game over!\n");
}
return 0;
}
srand()函数是随机数的初始化函数,是初始化随机数的发生器,用rand()产生随机数时的种子。
若随机数的产生无明确要求,time(0)返回的为1970UTCJanl 00:00到当前时间秒数为unsigned int类型
srand(time(NULL))
srand((unsigned int)time(NULL))
若用rand()和srand()产生指定范围内的随机整数,形式为“横除+加法”
0<=rand()%(n-m+1)<=n-m
0+m<=rand()%(n-m+1)+m<=n
[m,n] int num=rand()%(n-m+1)+m