本帖最后由 牛牛很牛 于 2016-5-26 15:09 编辑
//双色球 从1-33选出6个不重复的红球 从1-16选出1个蓝球 #include <stdio.h> #include <stdlib.h> int isContain(int arr[],int len,int key) { for(int i=0;i<len;i++) { if (arr == key) { return 1; } } return 0; } int main(int argc, const char * argv[]) { // 准备一个长度为6的数组,接收产生好的随机数即6个红球 int redBalls[6]={0}; // 产生1个随机数 for(int i=0;i<6;){ printf(""); int num = arc4random_uniform(33)+1; // 判断是否与之前产生的重复,如果重复,就重新产生 int res = isContain(redBalls,6,num); if(res == 0) { redBalls=num; i++; }
} printf("红球 "); for(int i=0;i<6;i++) { printf("%d ",redBalls); } int blueBall=arc4random_uniform(16)+1; printf("蓝球 %d\n",blueBall); return 0; } |