计算机自动产生100-999之间100个随机数,从大到小排列,用至少两种算法完成排序。

如题所述

//冒泡法选择
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,t,a[100];
for(i=0;i<=99;i++)
a[i]=rand();

for(i=0;i<=99;i++)
for(j=1;j<99-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}

for(i=0;i<=99;i++)
printf("%d\n",a[i]);

}
//直接法选择
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,t,a[100];
for(i=1;i<=100;i++)
a[i]=rand();
a[0]=a[1];
for(i=1;i<=100;i++)
if(a[i]>a[0])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}

for(i=1;i<=100;i++)
printf("%d\n",a[i]);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-22
产生随机数方法:rand()%900+100 排序分别用冒泡或比较还有选择法 可选用for循环,循环100次
相似回答