发布网友 发布时间:2024-10-06 23:06
共1个回答
热心网友 时间:2024-10-22 04:46
#include <stdio.h>
#include <stdlib.h >
#include <time.h>
int getRandNum();
bool randKey = true;
int main()
{
int a[20] ={0};
for(int i=0;i<20;i++)
{
a[i] = getRandNum()%9 +101; //先产生0-9然后加上101就可以得到100到1000
printf("%d,",a[i]);
}
for(int i=0;i<20;i++) //冒泡排序法
{
for(int j=19;j>i;--j)
{
if(a[j]<a[j-1])
{
int temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
printf("\n");
for(int i=0;i<20;i++)
{
printf("%d,",a[i]);
}
return 0;
}
int getRandNum()
{
if( randKey) //为了防止出现错误,所以产生随机种子的函数只能执行一次
//如果注销这个if就会产生一样的值
{
randKey = false; //执行一次后将开关关闭
srand((unsigned)time(0)); //产生种子
}
return rand(); //调用rand()产生随机数返回
}