发布网友 发布时间:2022-06-09 18:40
共4个回答
热心网友 时间:2022-05-22 02:43
如下:
#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的整数。
热心网友 时间:2022-05-22 04:01
我是用手机上的网,用手机敲了半天代码没敲完,实在不耐烦了就删了,我就讲一下思路吧 先用for语句循环1000次,每次调用随机数生成库函数初始化一整数数组。然后对该数组进行冒泡排序并在冒泡排序函数里对负责交换两个数的语句后计数对交换次数进行统计最后输出已排好序的数组和统计数字就完了。热心网友 时间:2022-05-22 05:36
#include<stdio.h>热心网友 时间:2022-05-22 07:27
用C语言产生一个随机数可以使用srand或者rand函数产生,冒泡法可以从网上查找到,想记录处理的次数可以另设一个变量每处理一次加1就可以了