#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <time.h>
float min_num[5] = {-100.0,-110.0,-120.0,-130.0,-140.0};
//任意设置的五个最小值
int location[5] = {1000,2000,4000,8000,9000};
//任意设置的五个最小值的位置。
//也可不要,由随机数生成。
void min_five_elem()
{
srand((int)time(NULL));
float five[5];
float temp;
for(int i=0;i<5;i++)
{
five[i] = float(rand()/1000.0);
//
cout<<five [i]<<"
";
}
for(i=0;i<5;i++)
{
for(int j=i+1;j<5;j++)
{
if(five[i]>five[j])
{
temp = five[i];
five[i] = five[j];
five[j] = temp;
}
}
}
int x=0;
for(i=5;i<10000;i++)
{
//最小值可以不要设定,由随机数产生,设定是为了判断程序正确性。
//////////////////////////////////////////////////////////////////////////////////////
//
if(i==location[1]||i==location[2]||i==location[3]||i==location[4]||i==location[0])//任意位置设置5个最小的数,用于判断程序的正确性。
//
temp = min_num[x++];
//
else
//////////////////////////////////////////////////////////////////////////////////////
temp = float(rand()/100.0);
//cout<<temp<<"
";
if(temp <five[4])
{
for(int j=0;j<5;j++)
{
if(temp < five[j])
{
for(int x = 4;x>j;x--)
{
five[x] = five[x-1];
}
five[j] = temp;
j=6;//?
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
#if 0
if( five[4]>temp )
{
five[4]=temp;
for( int k=3; k>=0; --k )
{
if( five[k]>temp )
{
five[k+1]=five[k];
}
else
{
five[k+1]=temp;
break;
}
}
}
#endif
////////////////////////////////////////////////////////////////////////////////////////////////
}
cout<<endl<<"-------------------------------------------------------------------------------"<<endl;
cout<<"最小的五个数是:";
for(i=0;i<5;i++)
{
cout<<five[i]<<"
";
}
cout<<endl<<"-------------------------------------------------------------------------------"<<endl;
}
int main()
{
clock_t start, finish;
//时间比较的函数
double
duration;
start = clock();
min_five_elem();
finish = clock();
duration = (double)(finish - start)/ CLOCKS_PER_SEC;
printf("\n完成此程序所用的时间为:");
printf("%f\n",duration);
return 0;
}