怎么分别生成元素升序、降序、随机序的3个数组,长度都为100万。详情。显示出来
给你答复了一次了啊。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXLEN 1000000
//生成递增数组
void createDzArray(int a[])
{
int i=0;
int start = 0; //从0开始
int end = 10;
for(i=0;i<MAXLEN;i++)
{
a[i] = start + rand()%(end-start); //生成[start,end)之间的随机数
start = a[i]+1; //调整start
end = start+10;
}
}
//生成递减数组
void createDjArray(int a[])
{
int i = 0;
int start = 90000000;
int end = start + 10;
for (i=0;i<MAXLEN;i++)
{
a[i] = start + rand()%(end-start); //生成[start,end)之间的随机数
end = a[i];
start = end - 10;
}
}
//生成随机数组
void createSjArray(int a[])
{
for(int i = 0;i<MAXLEN;i++)
a[i] = rand();
}
int main()
{
int a[MAXLEN],b[MAXLEN],c[MAXLEN];
srand((unsigned int)time(0)); //生成随机数种子
createDzArray(a); //生成递增数组
createDjArray(b); //生成递减数组
createSjArray(c); //生成随机数组
//显示数组,以显示a数组为例,每行10个数
for(int i=0;i<MAXLEN;i++)
{
if((i+1)%10 == 0)
printf("%d\n",a[i]);
else
printf("%d ",a[i]);
}
//排序操作
return 0;
}