/*
使用随机数随机产生一个1-1000之间的数,给用户10次机会
// 产生 m,n 之间的随机数
// arc4random_uniform(n-m+1)+m
// arc4random_uniform(50-10+1)+10
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
// 定义变量
// 保存计算机产生的随机数和玩家输入的数字
// 保存随机数产生的范围
// 保存总的次数
// 保存已经竞猜的次数
int randomNum=0,inputNum=0;
int m=1,n=1000;// 设定范围
int totalCount=10;
int nowCount=1;
int flag=1;
int oldNum=0;
// 产生随机数
// 导入头文件 <stdlib.h>
// 调用随机数函数,产生随机数
// arc4random_uniform(3); 0,1,2
// arc4random_uniform(1000) 0-999
// arc4random_uniform(1000)+1 [1,1000]
randomNum=arc4random_uniform(n-m+1)+m;
// 死循环判断
while(flag){
// 判断次数是否小于总的次数
if(nowCount<=totalCount){
// 提示让用输入一个数
printf("请输入[%d,%d]之间的数字\n",m,n);
scanf("%d",&inputNum);
if(inputNum>randomNum){
printf("当前是第%d次竞猜,还有%d次机会\n上次竞猜:%d,本次竞猜:%d\n竞猜结果:猜大了!\n",nowCount,totalCount-nowCount,oldNum,inputNum);
}else if (inputNum<randomNum){
printf("当前是第%d次竞猜,还有%d次机会\n上次竞猜:%d,本次竞猜:%d\n竞猜结果:猜小了!\n",nowCount,totalCount-nowCount,oldNum,inputNum);
}else {
printf("当前是第%d次竞猜,还有%d次机会\n上次竞猜:%d,本次竞猜:%d\n竞猜结果:猜对了!\n",nowCount,totalCount-nowCount,oldNum,inputNum);
flag=0;
}
}
nowCount++;
oldNum=inputNum;
}
return 0;
}
|