#include stdio.h
成都网站建设、网站制作服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联公司把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!
void sort(int a[], int n) {//选择排序
int i,j,k,t;
for(i = 0; i n - 1; ++i) {
k = i;
for(j = k + 1; j n; ++j) {
if(a[k] a[j]) k = j;
}
if(k != i) {
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
int main() {
int a[] = {21,16,30,21,8,19,33,26,28,27,24,50,13,12};
int i,n = sizeof(a)/sizeof(a[0]);
printf("排序前:\n");
for(i = 0; i n; ++i)
printf("%d ",a[i]);
printf("\n");
sort(a,n);
printf("排序后:\n");
for(i = 0; i n; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
#includestdio.h
#includestdlib.h
int main()
{
void sort(int x[],int n);
int *p,i;
int N;
printf("please input the total num:");
scanf("%d",N);
int a[N];
printf("please input the %d num:\n",N);
p=a;
for(i=0;iN;i++)
scanf("%d",p++);
p=a;
sort(p,N);
for(p=a,i=0;iN;i++)
{printf("%d ",*p);p++;}
system("pause");
}
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;in-1;i++)
{k=i;
for(j=i+1;jn;j++)
if(x[j]x[k])
k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
#include stdio.h
#include stdlib.h
#include time.h
int main(void)
{
int a[10],i,j,tmp,b;
srand(time(NULL));
for(i=0;i10;i++)
a[i]=rand()%100;
for(i=0;i10;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i9;i++)
{
tmp=i;
for(j=i+1;j10;j++)
{
if(a[tmp]a[j])
tmp=j;
}
if(i!=tmp)
{
b=a[tmp];
a[tmp]=a[i];
a[i]=b;
}
}
for(i=0;i10;i++)
printf("%3d",a[i]);
printf("\n");
return 0;
}
随机产生数组中的元素, 更合理一些。 百科中有各种版本。
#includestdio.h
#includestdlib.h
#define shengxu 0
void RandonArray(int a[],int n)
{
int i;
srand(time(NULL));
for(i=0;in;i++)
{
a[i]=rand();
}
}
void SortArray(int a[],int n)
{
int i,j,t;
for(i=0;in-1;i++)
{
for(j=0;jn-i-1;j++)
{
if(shengxu)
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
else
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
}
}
void OutputArray(int a[],int n)
{
int i;
for(i=0;in;i++)
{
printf("%d,",a[i]);
}
}
int main()
{
int i,n,*a;
char msg[]={-56,-25,-71,-5,-78,-55,-60,-55,-93,-84,-57,-21,-72,-8,-50,
-46,50,48,48,-78,-58,-72,-69,-93,-95,0};
printf("%s\n\n",msg);
printf("请输入要随机产生的数组的元素个数:");
scanf("%d",n);
a=(int*)calloc(n,sizeof(int));
RandonArray(a,n);
printf("%s排序前数组各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
SortArray(a,n);
printf("\n%s排序后数组各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
free(a);
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}