C++ 随机生成1000个[0-1000]的有序随机数

本文介绍C++中rand()和srand()函数使用,展示了如何生成随机整数并应用到冒泡排序算法。通过实例演示了如何利用 srand(time(NULL)) 设置随机种子以获得更随机的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件 <cstdlib>

rand,srand函数和RAND_MAX常量

RAND_MAX 在Windows系统中为32767 ,在类Unix系统中为2147483647

rand()函数返回一个0~RAND_MAX的随机整数

srand(seed)函数 接受unsigned int 类型的参数seed,以seed为随机种子,rand()基于此生成随机数,如果不写srand函数,则种子默认为1

setw(int n)是c++中在输出操作中使用的字段宽度设置,设置输出的域宽,n表示字段宽度。只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。

若要产生随机实数,先产生较大的随机整数


#include <iostream> 
#include <cstdlib> 
#include <sstream>
#include <cstring>
#include <iomanip>
using   namespace   std; 

const  int N=1000; 

//数据交换函数
void Swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}

//冒泡排序
void BubbleSort(int A[], int &n)
{
	int i, j, last;
	i = n-1;
	while(i >0)
	{
		last =0;
		for(j =0; j<i; j++)
			if(A[j+1] < A[j])  
			{
				Swap(A[j], A[j+1]);
				last =j;
			}
			i =last;
	}
}
int main(void)
{
    srand(time(NULL)); 
    int i,j=0; 
    int ia[N]; 
	cout<<"原数组:"<<endl;
	for(i=0;i <N;++i) 
    { 
		ia[i] = rand() % N;

    } 
	for(i=0;i <N;++i) 
    { 
		
		cout<<setw(6)<<ia[i]; 
		j++;
		if(j%10==0)
			cout<<endl;
    }
	cout<<endl;
	int n = sizeof ia /sizeof ia[0];
	BubbleSort(ia, n);
	cout << "冒泡排序后:"<<endl;
	for(i=0;i <N;++i) 
    { 
		cout<<setw(6)<<ia[i]; 
		j++;
		if(j%10==0)
		{
			cout<<endl;
		}
		 
    }
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值