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的可以么?最好再加个冒泡排序。
展开
 我来答
梦想窗外
2009-07-13 · TA获得超过1588个赞
知道大有可为答主
回答量:1180
采纳率:0%
帮助的人:1562万
展开全部
#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);
}
忘至白葬不情必0T
2009-07-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
你的整个程序思路不好,最后得到的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);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友755d31eca
2009-07-13 · TA获得超过802个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:262万
展开全部
#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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
atgc123
2009-07-13 · TA获得超过2512个赞
知道小有建树答主
回答量:1773
采纳率:50%
帮助的人:1098万
展开全部
不知道怎么用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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式