C++编程 我想编一个程序:从1~50这50个号码里面随机抽出一个数字,然后在从剩下的49个号码继续抽一个数

供稿:hz-xin.com     日期:2025-01-15
用C++编写一个程序:如何让电脑从1到10中随机抽取一个数字 并最终输出该数字。

要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a 或者(rand() * (b-a)) / RAND_MAX + a。

假设我们要取得1~10之间的随机整数:

#include
#include
#include

void main()
{
int ran_num;
srand((unsigned)time(NULL));
for(int i=0;i<100;i++)
{
ran_num = 10*rand() / (RAND_MAX)+1;
cout<<ran_num<<"
";
}
}

要想了解更多,请参见我的博客http://blog.sina.com.cn/s/blog_590be5290100hwq9.html

#include
#include
#include
void main( void )
{
int i;
srand( (unsigned)time( NULL ) ); //初始化随机函数
for( i = 0; i < 100;i++ ) printf( "%d
",rand()%10+1);//rand()是随机函数

}

#include "stdafx.h"
#include <ctime>
#include <stdlib.h>
int main(int argc, char* argv[])
{
srand((unsigned)time(NULL));
int iNum[5] ={0};
int iTemp;
int i=1;
while(i<=5)
{
iTemp = rand()%50+1;
//判断当前产生的随机数是否已经出现过
for(int j =0; j <i; j++)
{
if(iNum[j] == iTemp)
break;
}
if(j==i) //如果没有出现的随机则保存到数组,并输出到屏幕
{
iNum[i-1]=iTemp;
printf("The %d rand number is %d\n",i,iTemp);
i++;
}
}
return 0;
}

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

srand((unsigned int)time(0));//根据时间生成随机数种子,由此生成完全随机数

for(w = 0; w < 5; w++)
{
j = 1+(int)(50*rand()/(RAND_MAX));//限制了随机数的范围
}

我速写的 大概用了2分钟

你试试 我试了多次 抽出的没有重复的随机数

你可以define N 设置更大 看看有没有重复

我睡觉了 有问题留言

47
27
28
39
43
Press any key to continue

6
40
21
44
47
Press any key to continue

39
20
5
1
19
Press any key to continue

#include<iostream>
#include <ctime>
using namespace std;
#define N 5
int main()
{
int i,j,tmp,flag,chou[N]={0};
srand((unsigned)time(NULL));
for (i=0;i<N;i++)
{
flag=0;
tmp = rand()%50+1;
for(j=0;j<=i;j++)
{
if (tmp==chou[j])
{
flag=1;
break;
}
}
if (!flag)
{
cout<<tmp<<endl;
chou[i] = tmp;
}else
{
i--;
}
}
return 0;
}

随即不会。。

C++编程产生1-10的随机数
用 法: void rand(void);说明:我觉得这个很好用 程序例:(一个可以控制范围和确切几个随即数字的函数)include <stdlib.h> include <stdio.h> int main(void){ int i;int j,k;cout<<"请输入产生随即数字的个数和范围\\n";cin>>j>>k;cout<<"0-"<<k<<"之间的随即数\\n\\n";for(i=1;...

编写一个程序,使程序从1到16个整数中选择6个重复的整数,模拟中奖抽号...
include <stdio.h>#include <stdlib.h>#include \/\/检查在数组a[n]中有没有x这个数 int issame(int *a,int n,int x){int i;for(i=0;i<n;i++)if (a[i]==x) return 1;return 0;}int main(){int a[6];int i;srand(time(NULL));for(i=0;i<6;i++){do{a[i]=rand()...

编写vc++程序,实现功能:从键盘读入一个奇数n,计算1+3+5+7+9+……+n...
就一个累加,从1到N之间,每次跳过一个,定义一个变量i,i初始值为1,之后i+2之后与N判断,若小于等于,则继续加,放入sum中,用for循环,这是最初始的很简单的一个程序了代码不超过二十行

编写一个程序,输出1~1000之内所有的素数(注意:素数即质数)及个数(C语 ...
编写一个程序 输出1 1000之内所有的非素数 正在求助 换一换 回答问题,赢新手礼包 苦等1分钟: 必胜客有哪些明星产品 回答 苦等13分钟: 新时期我国社会主要矛盾的变主要体现在哪些方面 回答 苦等26分钟: 现在这么多生鲜收银软件选择无从下手,求推荐一款软件... 回答 苦等31分钟: 是我要求太多了吗,还是我...

1+2+3+100用C语言怎么编?
思路:定义一个变量存储累加和,依次从1到100遍历,进行累加,最后输出结果。include <stdio.h>int main(){int i,sum=0;for(i=1;i<=100;i++)sum+=i;printf("%d\\n",sum);return 0; }\/*输出:5050 *\/

编程序,实现:1+2+3+……+100,要求:画流程图,写完整程序。
void main() { int sum=0;for(int i=1;i!=101;++i) sum+=i;printf("sum :%d\\n",sum);} 首先,引入标准输入输出库,以便后续使用输入输出函数。接下来定义主函数,用于执行程序的主要逻辑。在主函数中,定义一个整型变量sum,用于存储累加结果,初始值设为0。接着使用for循环实现从1到100...

要求设计一个程序输出每个学生的学号、姓名和平均分以及每门课程(课程...
要求设计一个程序输出每个学生的学号、姓名和平均分以及每门课程(课程编号从1~6)的平均分。设计方案1:将学生的全部数据项放在一个表中,一个学生的全部数据对应一条记录。设计方案2:将学生的全部数据项放在一个表中,但一个学生的一门课程成绩对应一条记录。设计方案3:将学生的学号、姓名和班号放在一个表中,将...

编一个C++程序,用同一个函数名对n个数据进行从小到大排序。用重载函数实...
long int c[5]={10100,-123567, 1198783,-165654, 3456};void sort(int []);void sort(float []);void sort(long []);sort(a);sort(b);sort(c);return 0;} void sort(int a[]){int i,j,t;for (j=0;j<5;j++)for(i=0;i<5-j;i++)if (a[i]>a[i+1]){t=a[i]...

FizzBuzz。 编写一个程序,打印从 1 到 100 之间的数字。碰到 3 的...
include <stdio.h> int main( ){ int i;for(i=1;i<101;i++)if(i%3)printf("%4d",i);return 0;}

我们老师让我编一个程序 键盘输入一个n 然后用循环计算 从1加到n的...
code segment assume cs:code main proc far start:push ds sub ax,ax push ax mov ah,1 ;1号命令输入字符 int 21h sub al,'0' ;输入的字符-30h得到相应数字 mov cl,al ;将此数放到cl中为循环做准备 mov al,1 mov dl,0 again:add dl,al inc al loop again ;此循环进行...