用C++让计算机产生100个0-999之间的随机整数,并依次保存到数组中

供稿:hz-xin.com     日期:2025-01-13
用C语言编程,使计算机自动产生100-999之间100个随机数,用至少两种算法完成排序。

#include
#include
#include void main()
{
int a[100];
int i,j,n,m,k;
for(i=0;i<100;i++)
{
a[i]=rand()%900+100;
}
for(n=0;n<99;n++)
{
for(m=0;m<99-n;m++)
{
if(a[m]>a[m+1])
{
k=a[m];
a[m]=a[m+1];
a[m+1]=k;
}
}
}
printf("产生的随机数由小到大排序为:
");
for(j=0;j<100;j++)
{

printf("%d ",a[j]);
}
}
这只是简单的冒泡排序,如果要用选择排序只需要把排序那块改一下,如果还不明白+965974742

#include#define N 200using namespace std;void myrandom(int a[N]){int i=0,k;srand(NULL);while(1){k=rand()%151-50;if(k!=0)a[i++]=k;if(i==200)break;}}void show(int a[N]){int i=0;for (i=0;i0)i++;while(i<=j && a[j]<0)j--;k=a[i];a[i]=a[j];a[j]=k;}}int main(){int a[N];myrandom(a);cout<<"随机生成200个数
";show(a);cout<<"处理后
";sort(a);show(a);return 0;}

第一 楼上的不是C++

第二 在VC6 下楼上的根本通不过
报错 ror C2065: 'rand' : undeclared identifier
更不用说do {}while ();结构还写错了

第三 楼上效率很低
楼上的是生成0到65535的随机数 然后把0到999之间的存入数组 (当然 如果他的能运行起来的话 他的意思是这样的 实际上 连 do{}while();格式都写错了 更不用提 rand的没定义了)

下面看我的结果

167 704 491 824 682 637 512 778 369 392 594 19 979 186 527 558 481 900 607 999 8
39 2 283 359 582 537 965 844 273 371 177 848 279 968 58 553 17 975 47 57 253 894
872 887 538 318 532 662 44 754 500 692 450 545 574 197 406 994 210 241 341 224
809 139 208 102 216 748 146 124 127 776 444 995 862 903 237 262 850 174 557 409
133 503 611 262 260 550 789 158 557 254 321 901 824 124 554 801 533 825 Press an
y key to continue

看我的代码

#include <iostream>
#include <ctime>
using namespace std;
main()
{
int i,a[100];
srand((unsigned)time(NULL));
for(i=0;i<100;i++)
{
a[i]=rand()%1000; //这个就可以产生0-999的随机数 //cout<<a[i]<<" "; //用于测试的输出 注释掉则不会输出到控制台窗口
}
}

随机函数一般流程:
1、播随机种子//随机种子的变化越快,随机性越高,推荐使用timegettime()函数,需要加winmm.lib
2、然后就是随机区间,一般用求余的方法取得,如rand()%100就是0-99随机,可以加上1就是1-100
3、利用第二点的随机取整数的方法,可以扩展出浮点数的随机取数,例如下面的浮点数随机函数
float randf( float min, float max, int iNum )
{
return rand()%( int((max-min)*powf(10,iNum)) )* 0.01f + min;
}

#include "stdio.h"
main()
{
int a[100];
int i;
for(i=0;i<100;i++)
{
do a[i]=rand();
while(a[i]<=0||a[i]>=999);
}
for(i=0;i<100;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
vc上运行通过,如果满意请给最佳

#include<iostream>
#include<time.h>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int n[100];
for (int i = 0;i < 100;i++) n[i] = rand() % 1000;
for (int i = 0;i < 100;i++) cout << n[i] << endl;

return 0;
}

编写一个程序,随机生成100个0~9之间的随机数,输出每个数输出的次数...
int main(){ int r[100],s[10],i;for (i=0;i<10;++i){ s[i]=0;} srand(time(NULL));\/\/初始化随机数种子,产生不同随机数序列 for (i=0;i<100;++i){ r[i]=rand()%10;\/\/产生一个随机数 ++s[r[i]];} for (i=0;i<10;++i){ cout<<i<<' '<<s[i]<<endl;} ...

编程:随机生成100个0--9之间的随机数
{ cout <<"100个随机数中数字"<<j<<"出现次数为:"<<frequency[j]<<'\\n';} return 0;}

用C++让计算机产生100个0-999之间的随机整数,并依次保存到数组中_百度...
int i,a[100];srand((unsigned)time(NULL));for(i=0;i<100;i++){ a[i]=rand()%1000; \/\/这个就可以产生0-999的随机数 \/\/cout<<a[i]<<" "; \/\/用于测试的输出 注释掉则不会输出到控制台窗口 } }

C++rand() 怎么随即产生100个数字
void main(){ int x[100];int i,j,n=0;for (i=0;i<100;i++) x[i]=0;srand((unsigned)time(NULL));n=0;do {j=rand()%100;if (x[j] == 0) {x[j]=1; n++;} } while (n<20);do {j=rand()%100;if (x[j] == 0) {x[j]=2; n++;} } while (n<35);d...

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数...
include<string.h> int main(){ int a[10];\/\/每个数字的计数器 int num;int i;char ch[100],*ch1,num1;for(i = 0;i < 10;i++)a[i] = 0;printf("请输入一个整数:");scanf("%d",&num);itoa(num,ch,10); \/\/将数字转化为字符串 for(ch1 = ch;ch1<ch+strlen(ch);ch1...

C++编程问题,一本书的页码从1到600连续编号,则数字0到9在页码中各出现...
\/\/先补0 \/\/统计从个位算起前k位 0 ~ 9 个数 for(i=0; i < 10; i++) sn[i] += c*k*pown\/10; \/\/ 统计第k+1位出现 0 ~ (c-1) 个数 for(i=0; i < c; i++) sn[i] += pown; \/\/ 统计第k+1位出现 c 个数 ...

用c++编写程序:从键盘上任意输20个1-99之间的整数,分别统计其个位数0...
for(i=0;i<10;i++)b[i]=0;cout<<"输入20个(1-99)的整数:"<<endl;for(i=0;i<20;i++){ do { cin>>a[i];}while(a[i]<1&&a[i]>99);int n=a[i]%10;switch(n){ case 0:b[0]++;break;case 1:b[1]++;break;case 2:b[2]++;break;case 3:b[3]++;break;cas...

c++中如何利用rand_max随机产生一个0至9之间的数,1到2之间的数,-1到1...
int main(){ srand(time( 0));cout<<"请输入你想生成多少数字:"<<endl; \/\/生成多少数字 int n=0;cin>>n;cout<<"在0~9之间的数是:"<<endl; \/\/在0~9之间的数是 for(int i=0;i<n;i++){ int num1=rand()%10;if(i%10==0)cout<<endl;cout<<num1<<" ";} cout...

用C语言编程,使计算机自动产生100-999之间100个随机数,用至少两种算法...
int a[100];int i,j,n,m,k;for(i=0;i<100;i++){ a[i]=rand()%900+100;} for(n=0;n<99;n++){ for(m=0;m<99-n;m++){ if(a[m]>a[m+1]){ k=a[m];a[m]=a[m+1];a[m+1]=k;} } } printf("产生的随机数由小到大排序为:\\n");for(j=0;j<100;j++)...

C++ 语言 生成一个0~100的随机数
rand()方法是C++获取随机数的方法,可以通过srand()方法获取系统的时间,用系统时间作为判断依据,生成随机数,随机数的大小通过rand()方法获取的值,进行取余后获得。也就是说,srand方法获取到了系统的时间,他是毫秒级的,然后通过这个毫秒级的数据,对100取余,即可获得0-100的随机数,如果是1-100...