双色球打表去重复
突然觉得以前的双色球程序可以优化一下#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int a[31]={0};
int redball()
{
int m=rand()%31+1;
if(a[m]==0)a[m]=1;
while(a[m]!=0) //生成不重复的数
{
m=rand()%31+1;
}
a[m]=1;
return m;
}
int cmp(const void *a,const void *b) //快排
{
return *(int *)a-*(int*)b;
}
int main()
{
int b[7]={0};
srand((unsigned)time(0));
for(int i=0;i<7;i++)
{
b[i]=redball();
}
qsort(b,7,sizeof(int),cmp); //快排函数
printf("7个红球号码分别为:\n");
for(int i=0;i<7;i++)
{
printf("%d ",b[i]);
}
printf("\n1个蓝球号码为:\n%d",rand()%16+1);
return 0;
}
[此贴子已经被作者于2018-3-31 17:56编辑过]