怎样用C语言产生1000个随机数,并用冒泡排序法排序并记录处理次数。是新手,有讲解更好

要代码…... 要代码… 展开
 我来答
大大的Wiener
2018-03-30 · TA获得超过6.4万个赞
知道大有可为答主
回答量:392
采纳率:90%
帮助的人:36万
展开全部

如下:

#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的整数。

百度网友c6f68a1e5
2011-09-08
知道答主
回答量:8
采纳率:0%
帮助的人:1.2万
展开全部
我是用手机上的网,用手机敲了半天代码没敲完,实在不耐烦了就删了,我就讲一下思路吧 先用for语句循环1000次,每次调用随机数生成库函数初始化一整数数组。然后对该数组进行冒泡排序并在冒泡排序函数里对负责交换两个数的语句后计数对交换次数进行统计最后输出已排好序的数组和统计数字就完了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春绿夏侯7N
2011-09-08
知道答主
回答量:15
采纳率:0%
帮助的人:10.8万
展开全部
#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的整数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cyevans
2011-09-08 · 超过31用户采纳过TA的回答
知道答主
回答量:133
采纳率:0%
帮助的人:89.9万
展开全部
用C语言产生一个随机数可以使用srand或者rand函数产生,冒泡法可以从网上查找到,想记录处理的次数可以另设一个变量每处理一次加1就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式