猜数游戏

随机产生4个不重复的 0-9 之间的整数
从小到大排序

输入猜测的数字 1 2 3 4
A表示数字正确 位置正确的个数 2A
B表示数字正确 位置不正确 2B

如何产生随机数
//放种子
srand((unsigned int)time(NULL));
//产生随机数 num % 10 0 ... 9
rand() % (max+1);

#include 
#include 
#include 
#include 
//初始化数组
void initArray(int array[]);
//打印数组内容
void show(int array[]);

int main(int argc, const char * argv[]) {
   //定义一个数组 用于存放产生的随机数
   int originArray[4] = {};
   
   //初始化数组
   initArray(originArray);
   
   //打印
   show(originArray);
   
   return 0;
}

//初始化数组
//1 2 1
void initArray(int array[]){
   srand((unsigned int)time(0));
   for (int i = 0; i < 4; i++) {
       int temp = 0;
       bool isExist = false;
       while(1){
           //产生一个随机数
            temp = rand() % 10;
           
           //1 2 3
           //判断这个数字在数组里面是否存在
           //i表示当前数组里面已经存进去几个了
           for (int j = 0; j < i; j++){
               if (array[j] == temp) {
                   //存在了
                   isExist = true;
                   break;
               }
           }
           
           //什么情况下出来
           //1.break 2.遍历完毕还没找到相同
           if (isExist == false) {
               break;
           }
       }
       //将这个随机数添加到数组里面
       array[i] = temp;
   }
}

//打印数组内容
void show(int array[]){
   for ( int i = 0; i < 4; i++) {
       printf("%d ",array[i]);
   }
   printf("\n");
}

你可能感兴趣的:(猜数游戏)