随机产生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");
}