#include<stdio.h>
#include<time.h>
#include<math.h>
int main()
{
float a[10000];
int t,i,j,n,m,s;
t=0;
i=0;
j=0;
printf("羊的数量有几只(输入数量小于10000只)?");
scanf("%d",&n);
for(;t<n;t++)
{
a[t]=(rand(time(NULL))%15000+20000)*0.001;
}
for(;i<n-1;i++)
{
for(;j<n-1-i;j++)
{
if(a[j+1]<a[j])
{
s=a[j+1];
a[j+1]=a[j];
a[j]=s;
}
}
}
for(m=n-100;m<n;m++)
{
printf("最重的羊有%.3fkg\n",a[m]);
system("PAUSE");
}
}
内循环j要初始化,外循环每循环一次j都是从0开始。
#include<stdio.h>
#include <time.h>
int main()
{
float a[10000];
float s;
int t,i,j,n,m;
t=0;
i=0;
j=0;
printf("羊的数量有几只(输入数量小于10000只)?");
scanf("%d",&n);
srand((time(NULL));
for(;t<n;t++)
{
a[t]=(rand()%15000+20000)*0.001;
}
for(;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j+1]<a[j])
{
s=a[j+1];
a[j+1]=a[j];
a[j]=s;
}
}
}
for(m=n-100;m<n;m++)
{
printf("最重的羊有%.3fkg\n",a[m]);
}
system("PAUSE");
return 0;
}