c语言用函数选择法 c语言选择法

用C语言编个程序:写一函数,用“选择法”对8个整数进行排序(降序) ,怎么编?哪个高手可以帮下啊

#include "stdio.h"

创新互联公司是一家集网站建设,大田企业网站建设,大田品牌网站建设,网站定制,大田网站建设报价,网络营销,网络优化,大田网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

void select_sort(int a[],int n)

{

int i,j,k,temp;

for(i=0;in-1;i++)

{

k=i;

for(j=i+1;jn;j++)

{

if(a[j]a[k])//将这里改成a[j]a[k]就是按升序排序

{

k=j;

temp=a[i];

a[i]=a[k];

a[k]=temp;

}

}

}

}//定义选择排序函数

int main()

{

int i;

int a[8];

printf("Please input 8 nubmers:\n");

for(i=0;i8;i++)

{

scanf("%d",a[i]);

}//从键盘读入8个整数

printf("The 8 numbers you input is:\n");

for(i=0;i8;i++)

{

printf("%d ",a[i]);

}

printf("\n");

select_sort(a,8);//调用选择排序函数

printf("The sorted numbers is\n");

for(i=0;i8;i++)

{

printf("%d ",a[i]);

}//对排好序的数组进行输出

printf("\n");

getchar();

}

大一C语言使用函数的选择法排序

if(p!=i)

{

q=a[p];

a[p]=a[i];

a[i]=q;

}

这一段放到前面的p=m;后地}后面。

在C语言中,如何用函数实现,用选择法对10个数进行排序

//选择 void sort1(int *a,int n){ for(int i=0;in-1;i++) for(int j=i;jn;j++) if(a[i]a[j]) sp(a[i],a[j]);}//冒泡 void sort2(int *a,int n){ for(int i=1;in-1;i++) for(int j=0;jn-i;j++) if(a[j]a[j+1]) sp(a[j],a[j+1]); }//插入 void sort(int* a,int n) { int temp,int item; for (int i=1;in;i++) { temp=a[i]; item=i-1; while (item=0a[item]temp) { a[item+1]=a[item]; item--; } a[item+1]=temp; }} //快速排序 void q(int *a,int left,int right){ int i=left; int j=right; int mid=a[(i+j)/2]; while(i=j) { while((iright)(a[i]mid)) i++; while((jleft)(a[j]mid)) j--; if(i=j) { sp(a[i],a[j]); i++;j--; } } if(iright) q(a,i,right); if(jleft) q(a,left,j); } void sort3(int *a, int n){ q(a,0,n-1); }//双向冒泡 绝对由于单向冒泡 原因很简单如果数组前面或者后面排好那么就很明显表现出差距void sort(int* a,int n) { int left=0,right=n-2,t;do {for (int i=left;i=right;i++){if (a[i]a[i+1]){swap(a[i],a[i+1]);t=i;}}right=t-1;for ( i=right;i=left;i--){if(a[i]a[i+1]){swap(a[i],a[i+1]);t=i;}}left=t+1;} while (left=right);} const int arrsize=10;int main(){ int a[arrsize]; for(int i=0;iarrsize;i++) cina[i]; /////////////////////////////////在这行加入所对应的函数可以验证 for(int i=0;iarrsize;i++) couta[i]" "; system("pause"); return 0;}

c语言,使用函数的选择法排序

void selectionsort(int a[],int m)

{

int i,j;

int k;

int tmp;

for(i = 0; i  m-1; i++)//控制循环次数,n个数需要n-1次循环

{

k = i;

for(j = i+1; j  m ; j++)

{

if(a[j]  a[k])

k = j;

}

//i不等于k是就证明a[i]不是最小的,

//i等于k时证明a[i]就是本轮比较过程中最小的值

if(i != k)

{

tmp = a[i];

a[i] = a[k];

a[k] = tmp;

}

}

}


网站栏目:c语言用函数选择法 c语言选择法
转载来源:http://azwzsj.com/article/hhcgcc.html