新聞中心
用C語言編個(gè)程序:寫一函數(shù),用“選擇法”對(duì)8個(gè)整數(shù)進(jìn)行排序(降序) ,怎么編?哪個(gè)高手可以幫下啊
#include "stdio.h"
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),大田企業(yè)網(wǎng)站建設(shè),大田品牌網(wǎng)站建設(shè),網(wǎng)站定制,大田網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大田網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
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;
}
}
}
}//定義選擇排序函數(shù)
int main()
{
int i;
int a[8];
printf("Please input 8 nubmers:\n");
for(i=0;i8;i++)
{
scanf("%d",a[i]);
}//從鍵盤讀入8個(gè)整數(shù)
printf("The 8 numbers you input is:\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}
printf("\n");
select_sort(a,8);//調(diào)用選擇排序函數(shù)
printf("The sorted numbers is\n");
for(i=0;i8;i++)
{
printf("%d ",a[i]);
}//對(duì)排好序的數(shù)組進(jìn)行輸出
printf("\n");
getchar();
}
大一C語言使用函數(shù)的選擇法排序
把
if(p!=i)
{
q=a[p];
a[p]=a[i];
a[i]=q;
}
這一段放到前面的p=m;后地}后面。
在C語言中,如何用函數(shù)實(shí)現(xiàn),用選擇法對(duì)10個(gè)數(shù)進(jìn)行排序
//選擇 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); }//雙向冒泡 絕對(duì)由于單向冒泡 原因很簡(jiǎn)單如果數(shù)組前面或者后面排好那么就很明顯表現(xiàn)出差距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]; /////////////////////////////////在這行加入所對(duì)應(yīng)的函數(shù)可以驗(yàn)證 for(int i=0;iarrsize;i++) couta[i]" "; system("pause"); return 0;}
c語言,使用函數(shù)的選擇法排序
void?selectionsort(int?a[],int?m)
{
int?i,j;
int?k;
int?tmp;
for(i?=?0;?i??m-1;?i++)//控制循環(huán)次數(shù),n個(gè)數(shù)需要n-1次循環(huán)
{
k?=?i;
for(j?=?i+1;?j??m?;?j++)
{
if(a[j]??a[k])
k?=?j;
}
//i不等于k是就證明a[i]不是最小的,
//i等于k時(shí)證明a[i]就是本輪比較過程中最小的值
if(i?!=?k)
{
tmp?=?a[i];
a[i]?=?a[k];
a[k]?=?tmp;
}
}
}
文章名稱:c語言用函數(shù)選擇法 c語言選擇法
URL鏈接:http://www.dlmjj.cn/article/hhcgcc.html