刚学C语言冒泡排序想做10000个随机整数的冒泡,结果编译提示operator has no effect求教,最好有代码参考

这个是我自己写的...希望能看出毛病.....
#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的,希望大家帮帮忙看看

第1个回答  2012-11-20

#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的值可根据自己的需要修改。

本回答被提问者采纳
第2个回答  2012-11-20
printf("\n The time was %f second.\n");
(end-start)/CLK_TCK);
最后一句有问题!
相似回答