猜数游戏

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

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

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

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>
//初始化数组
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");
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容