这个是我自己写的...希望能看出毛病.....
#include"stdlib.h"
#include"time.h"
void select_sort(int a[ ], int n)
{int i, j, k, t;
for(i=0; i<n-1; i++)
{k=i;
for(j=i+1; j<n; j++)
if(a[j]<a[k]) k=j;
if(k!=i) {t=a[k]; a[k]=a[i]; a[i]=t; } } }
void create(int a[ ], int n)
{int i;
randomize( );
for (i=0; i<n; i++)
{
a[i]=random(100);
printf("%5d", a[i]);
}
printf("\n");
}
#define N 10000
void main( )
{clock_t start, end; int a[N]; char ch;
create(a, N);
printf("Press<Enter> key to start sorting…\n");
ch=getchar( );
start=clock( );
select_sort(a, N);
end=clock( );
printf(a, N);
printf("\n The time was %f second.\n");
(end-start)/CLK_TCK);
}
最好想问一下,10000个随机整数的话在运行的时候能够都显示出来吗?感觉数有点多,希望也能够改进界面美观,谢谢
如果写的有不对的话,希望能有代码参考和改正,还有生成的10000个随机数都要求小于100的,希望大家帮帮忙看看
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 10
void select_sort(int *p,int n)
{
int i, j, temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(p[j] > p[j+1])
{
//互换
temp = p[j];
p[j]=p[j+1];
p[j+1]= temp;
}
}
}
}
void create(int *p, int n)
{
int i=0,temp;
srand(time(0));
while(i<n)
{
temp=rand();
*(p+i) = temp;
printf("%d\n",*(p+i));
i++;
}
printf("\n");
}
void myprintf(int *p,int n)
{
int i,k;
for(i=0;i<n;i++)
{
printf("%d\n",*(p+i));
}
}
void main( )
{
int a[N];
create(a,N);
select_sort(a,N);
myprintf(a,N);
}
为显示方便,随机生成10个数排序,N的值可根据自己的需要修改。
本回答被提问者采纳