c语言用函数排序整型数组 c语言用函数实现排序
C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
#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;
}
用C语言写一个子函数完成对一整型数组从大到小的排序
#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; }
}
}
编写函数,使用选择排序法对数组进行排序(用C语言)
#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;
}
随机产生数组中的元素, 更合理一些。 百科中有各种版本。
C语言作业:编写程序实现整型数组的排序
#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;
}
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言用函数排序整型数组 c语言用函数实现排序
本文地址: https://pptw.com/jishu/3763.html