如何用C语言产生1000个随机数,并用冒泡排序法排序并记录处理次数?

如题所述

第1个回答  推荐于2019-09-26

如下:

#include<stdio.h>

#include<stdlib.h>

int main ()

{

int i,j,a[1000],n=0;

for(i=0;i<1000;i++)

a[i] = rand()%3000+1;     //产生随机数(3000以内的)

for(i=0;i<1000;i++)

{

for(j=i+1;j<1000;j++)

{

if(a[i]>a[j])       //交换

{

int temp=a[i];

a[i]=a[j];

a[j]=temp;

n++;

}

}

if(i%15==0)

printf("\n");

printf("%d ",a[i]);

}

printf("\n次数:%d\n",n);

return 0;

}

rand()是产生随机数的函数;需包含头文件#include<stdlib.h>

rand()%3000+1  是产生1~3000的整数。

本回答被网友采纳
第2个回答  2018-01-05
#include<stdio.h>
#include<stdlib.h>

int main ()
{
int i,j,a[1000],n=0;
for(i=0;i<1000;i++)
a[i] = rand()%3000+1; //产生随机数(3000以内的)
for(i=0;i<1000;i++)
{
for(j=i+1;j<1000;j++)
{
if(a[i]>a[j]) //交换
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
n++;
}
}
if(i%15==0)
printf("\n");
printf("%d ",a[i]);
}
printf("\n次数:%d\n",n);
return 0;
}

rand()是产生随机数的函数;需包含头文件#include<stdlib.h>
rand()%3000+1 是产生1~3000的整数。
相似回答