C语言随机数的问题?
用C语言做的双色球程序。中间判断6个普通号码不相同的地方不太会写,麻烦你们帮我添上#include<stdio.h>#include<stdlib.h>#include<...
用C语言做的双色球程序。中间判断6个普通号码不相同的地方不太会写,麻烦你们帮我添上
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
if( )
{
}
a[i]=rand()%35;
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%26);
}
你们再加个判断不是0的可以么?最好再加个冒泡排序。 展开
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
if( )
{
}
a[i]=rand()%35;
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%26);
}
你们再加个判断不是0的可以么?最好再加个冒泡排序。 展开
4个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
a[i]=rand()%35;
for(j=0;j<i;++j)
{
if(a[j]==a[i])
{
a[i]=rand()%35;
j=-1;
}
}
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%26);
}
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
a[i]=rand()%35;
for(j=0;j<i;++j)
{
if(a[j]==a[i])
{
a[i]=rand()%35;
j=-1;
}
}
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%26);
}
展开全部
你的整个程序思路不好,最后得到的a的6个数据是乱序的.
用我的方法可以得到排好序的数.
另外,取随机数的式子你也写错了,注意看我的.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int i,j;
time_t t;
bool tag[34];
for(i=0;i<34;i++) tag[i]=false;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
j=rand()%33+1;
if(!tag[j])
{
tag[j]=true;
}
else
{
i--;
}
}
for(i=1;i<34;i++)
if(tag[i]) printf("%d ",i);
printf("\n特别号码:%d\n",rand()%16+1);
}
用我的方法可以得到排好序的数.
另外,取随机数的式子你也写错了,注意看我的.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
int i,j;
time_t t;
bool tag[34];
for(i=0;i<34;i++) tag[i]=false;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
j=rand()%33+1;
if(!tag[j])
{
tag[j]=true;
}
else
{
i--;
}
}
for(i=1;i<34;i++)
if(tag[i]) printf("%d ",i);
printf("\n特别号码:%d\n",rand()%16+1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
a[i]=rand()%33+1;//得加1要不然有0
for(j=0;j<i;++j)
{
if(a[j]==a[i])
{
a[i]=rand()%33+1;//得加1要不然有0
j=-1;
}
}
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%16+1);//得加1要不然有0
}
一楼的好像不买双色球。双色球红号只有到33。蓝号只有到16。
而且没有0.所以得+1
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,a[6];
int j;
time_t t;
srand((unsigned)time(&t));
printf("普通号码:");
for(i=0;i<6;i++)
{
a[i]=rand()%33+1;//得加1要不然有0
for(j=0;j<i;++j)
{
if(a[j]==a[i])
{
a[i]=rand()%33+1;//得加1要不然有0
j=-1;
}
}
printf("%d,",a[i]);
}
printf("\n特别号码:%d\n",rand()%16+1);//得加1要不然有0
}
一楼的好像不买双色球。双色球红号只有到33。蓝号只有到16。
而且没有0.所以得+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道怎么用C语言写
C++实现
#pragma warning(disable: 4786)
#include<algorithm>
#include<iostream>
#include<ctime>
#include<set>
using namespace std;
class NumGen {
public:
NumGen() {
srand(time(0));
}
static set<int> numbers;
char operator()() {
int x=rand()%numbers.size(); //0~~~~32
set<int>::iterator itor=numbers.begin();
for(int i=0;i<x;++itor,++i);
int result= *itor;
numbers.erase(itor);
return result;
}
};
set<int> NumGen::numbers;
int main()
{
int a[6];
for(int i=1;i!=34;++i)
NumGen::numbers.insert(i);
generate(a,a+6,NumGen()); //生成
sort(a,a+6); //排序
copy(a,a+6,ostream_iterator<int>(cout," ")); //屏幕打印
return 0;
}
C++实现
#pragma warning(disable: 4786)
#include<algorithm>
#include<iostream>
#include<ctime>
#include<set>
using namespace std;
class NumGen {
public:
NumGen() {
srand(time(0));
}
static set<int> numbers;
char operator()() {
int x=rand()%numbers.size(); //0~~~~32
set<int>::iterator itor=numbers.begin();
for(int i=0;i<x;++itor,++i);
int result= *itor;
numbers.erase(itor);
return result;
}
};
set<int> NumGen::numbers;
int main()
{
int a[6];
for(int i=1;i!=34;++i)
NumGen::numbers.insert(i);
generate(a,a+6,NumGen()); //生成
sort(a,a+6); //排序
copy(a,a+6,ostream_iterator<int>(cout," ")); //屏幕打印
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询