要求生成一组5=6个号码的随机数字,范围1~33。我利用srand函数获取系统时间作为rand函数的种子,生成号码后,检查是否有重复,若有就要求重新生成。可我弄了好久,生成的号码一直还是相同的,问题是否出现在检查那里?
我之前是利用for循环逐个检查,然后里面用if判断
部分代码修改后如下://红 6 1~33 蓝 1 1~16 红色不重复,使用冒泡排序对红色进行排序
//检查完之后,逐个输出,并排序
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main(){
//声明红色球数组,及蓝色球变量
int red[33],blue;
//
//生成并检查红色球是否有重复出现
for(int i=0;i<6;i++){
do{
for(int j=0;j<33;j++){
srand(time(NULL));
red[j]=rand()%33+1;
}
//循环遍历检查
//此处为要写检查的代码
}
}while();
printf("%d\t",red[i]);
//生成蓝色球
srand(time(NULL));
blue = rand()%16+1;
printf("\n%d\n",blue);
}