| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:[求助]一道考试题
只看楼主 加入收藏
sky18888
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-9-5
收藏
 问题点数:0 回复次数:7 
[求助]一道考试题
编一完整程序,使其结果为:有N个人参加考试,一共36道题,33道问答题,3道应用题,使每人能随即抽到9道问答题和1道应用题。
搜索更多相关主题的帖子: 考试 
2007-09-05 10:46
chen7806
Rank: 1
等 级:新手上路
威 望:2
帖 子:160
专家分:0
注 册:2007-8-5
收藏
得分:0 
我是菜鸟。根据我的想法说说。

设二个数组,问答题号a[33],应用题号b[3];

然后使用随机数产生9个题,1个题分别从二个数组a[33],b[3]中产生;

最后,打印题号出来。

不知道想得对否?
2007-09-05 14:41
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 

要考虑 随机产生1~33中9个互不相等的数


C++学习
2007-09-05 15:15
zhongwen
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-6-12
收藏
得分:0 

#include "iostream.h"
#include <stdlib.h>
#include <time.h>

#define N 10
int YY[33],WD[3];

int ayy[9],awd;


void GetWdNumber()
{
int i;
i=rand();
awd=WD[i%3]; //问答题
}
void GetYyNumber()
{
int i,j;
for(i=0;i<9;i++)
{
ayy[i]=rand()%33; //存放数组下标
for(j=0;j<i;j++)
if(ayy[j]==ayy[i])
i--;
}
}

int main()
{

srand((unsigned)time(NULL)); //产生随机数

int i;
int j;
for(i=0;i<33;i++)
YY[i]=i+1;
for(i=0;i<3;i++)
WD[i]=i+1;
for(i=1;i<N+1;i++)
{
GetWdNumber();
GetYyNumber();
cout<<"第"<<i<<"个人的选题结果:"<<endl;
cout<<"问答题:"<<endl;
cout<<awd<<endl;
cout<<"应用题:"<<endl;
for(j=0;j<9;j++)
cout<<YY[ayy[j]]<<"、";
cout<<endl;
}

return 1;
}

2007-09-05 17:11
wsy
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-2
收藏
得分:0 
受教了 关于随机数的产生 是不是用求余 就可以了?

2007-09-05 20:13
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 
rand()就可以产生0到1之间的小数
随机取就可以了,取出一个就在原数组中排除一个,在剩下的里面再次随机取,直到取到9个

jorden008@
2007-09-06 14:56
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
原来随机数的生成是这样子。
srand((unsigned)time(NULL)); 这句是关键,可以详细说明些吗?
没有这句,多次运行都会产生同一个数列了

C++学习
2007-09-06 16:06
dearbot
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-8-12
收藏
得分:0 
厉害,要是我我准写蒙。还差得远那!

我需要信心,恒心,勇气!
2007-09-06 17:02
快速回复:[求助]一道考试题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018385 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved