C語言,選擇法排序,對陣列A進行公升序排列,求答案,謝大神

時間 2021-10-20 06:03:46

1樓:

給你個我以前寫的降序的程式,你稍微改下就行了,我懶得改了,#include

#define n 10

main()

}printf("這%d個數從大到小排列為\n",n);

/*列印出這十個經排列後的數*/

for(i=0;i

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

printf("\n");}

2樓:匿名使用者

#include

#include

main()

printf("\n");

printf("********************************************\n");

printf("公升序排序後的結果為:\n");

for(i=0;i<20;i++)

for(j=i+1;j<20;j++)

if(a[i]>a[j])

for(i=0;i<20;i++)

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

printf("\n");}

3樓:匿名使用者

#include

using namespace std;

int main()}}

cout<<"the sorted numbers:"<

for(i=0;i<4;i++)

cout<

cout<

return 0;

}從小到大的排序

4樓:匿名使用者

void selectsort(datatype a, int n){  int i, j, small; datatype temp;

for(i = 0; i < n-1; i++){  small = i;                                for(j = i+1;j

c語言程式設計問題問題描述】定義函式void sort(int a[],int n),用選擇法對陣列a 中的元素公升序排列。自定義

5樓:匿名使用者

#include

#include

// 選擇插入法排序

void sort(int a, int n)}int main()

return 0;}

c語言 使用氣泡排序將一維陣列a中的n個元素公升序排列

6樓:59分粑粑

方法和詳細的操作步驟如下:

1、第一步,開啟c檔案,定義一組序列和要排序的各種變數,然後處理排序邏輯,具體的**見下圖,轉到下面的步驟。

2、第二步,完成上述步驟後,氣泡排序的邏輯是一組數字從第乙個值開始,如果兩個相鄰數字的順序與期望的順序不同,則會交換兩個數字的位置。 重複此過程,直到最後乙個數字。如果需要交換,則排序完成,實現的**見下圖,轉到下面的步驟。

3、第三步,完成上述步驟後,編譯並執行程式,就獲得了想要的結果了,見下圖。這樣,就解決了這個問題了。

7樓:離歌亮仔仔

我這給出乙個不用指標,不用手動分配記憶體空間的相對 精簡易懂 的方法

#include

int main()

}printf("排序結果:\n");

for(i=0;i

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

printf("\n");

return 0;}

8樓:2013努力實現

#include

#include

int main()

printf("請為%d個元素賦值如 1 2 3\n",n);

for(i=0;ip[j+1])

}printf("排序結果!\n");

for(i=0;i

printf("%5d",p[i]);

printf("\n");

return 0;}

9樓:回歸╮幼稚

#include

int main()

{int t,i,j,a[100],n;

scanf("%d",&n);

for(i=0;i

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

for(i=1;i

10樓:示申僉

#include "stdio.h"

int main()

for(i=0;i結果:

輸入乙個數 n再輸入 n 個整數存入陣列 a 中,用選擇法將 a 中的元素按公升序排列,輸出排序後陣列元素。

11樓:凌亂心扉

#include

#define maxn 10

void sort( int a, int n );

int main()

執行效果:

scanf()用法:int scanf(char*format,[argument,...]);

scanf()函式是通用終端格式化輸入函式,它從標準輸入裝置(鍵盤)讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。

其呼叫格式為:scanf(「《格式化字串》」,《位址表》);

scanf()函式返回成功賦值的資料項數,出錯時則返回eof;

其控制串由三類字元構成:

1、格式化說明符

2、空白符

3、非空白符

格式化說明符

附加格式說明字元表:

空白字元

空白字元會使scanf()函式在讀操作中略去輸入中的乙個或多個空白字元,空白符可以是space,tab,newline等等,直到第乙個非空白符出現為止。

非空白字元

乙個非空白字元會使scanf()函式在讀入時剔除掉與這個非空白字元相同的字元。

12樓:夜黑黎

# include

# define n 100

void sort(int *a,int n)}}void main()

c語言:用選擇排序法對乙個陣列裡的數進行排序,從小到大,要求選出小的進行排序

13樓:會飛的小兔子

#include

intmain()

;intj=0;

inttmp=0;

intm=sizeof(a)/sizeof(a[0]);//s陣列大小

for(i=0;i}}

for(i=0;i

printf("\n");

return0;

}擴充套件資料

c語言排序法

把乙個陣列進行排序可以使用選擇排序法。選擇排序法的原理在是每一趟迴圈尋找陣列中最小的數的下標,然後按照遞增的順序放入陣列中。

迴圈找出最小數的下標,該下標用min儲存,直到比較完整個陣列,即可找到最小的數,然後將該數放入陣列的第一位,這樣就排好了乙個元素。

需要再巢狀一層外層迴圈即可排好所有元素。第二次迴圈就不用再比較第乙個元素了,因為第乙個元素已經排好,依次類推,每一次迴圈就會排好乙個,進行n-1次迴圈即可排好所有元素。

14樓:大野瘦子

這樣:int *a = (int *)malloc(sizeof(int) * n); //動態分配陣列空間 ,有幾個元素,n就是幾。

for(i=0; i

sort(a, n);

for(j=0; j

void sort(int *a, int n)}}

注意事項

1、選擇排序法是將序列分為兩段,有序前列和無序後列,每次查詢無序後列中最大元素,將其插入到有序前列的最末尾處,直至無序後列最後乙個元素,最終排序後的序列為降序序列。

2、適用於包括陣列和向量在內的序列。

3、選擇排序與氣泡排序的區別是選擇排序每次遍歷時會記住最大元素的位置,只進行一次交換,而氣泡排序每次遍歷時會交換兩個順序不合法的元素。

演算法程式:

#include "stdafx.h"

#include

using namespace std;

void selectsort(int a,int n)

int temp = a[max];  //交換無序後列中首元素與最大元素的位置

a[max] = a[i];

a[i] = temp;}}

15樓:匿名使用者

#include

void sorted(int a,int n)if(k!du=i)}

}int main(){

int n,i,a[255];

printf("請輸入zhi資料總量n(1-254):

");scanf("%d",&n);

printf("請輸入%d個數:dao",n);

for(i=0;i的數

內組:");

for(i=0;i容的陣列:");

for(i=0;i

定義函式void sort(int a[ ],int n),用選擇法對陣列a中的元素公升序排列。

16樓:

#include

int main(void)

void sort(int a,int n)}}

c語言,寫乙個函式,void sort(float a[ ],int n)功能為對陣列a中的n個數進行公升序排列?

17樓:小黑哎啊

#include

float sort(float a,int n)float t;

for(int i=0;ifor(int j=0;jif(a[j]>a[j+1])

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

for(int i=0;iprintf("%.f ",a[i]);

int main()

float a[20]=;

sort(a,20);//引用

return 0;

定義函式void sort(int a[],int n),用選擇法對陣列a 中的元素公升序排列。自定

18樓:自我程式設計

#include

void sort(int a,int n);

int main()

,i;sort(a,8);

printf("陣列排序後:\n");

for(i=0;i<8;i++)

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

printf("\n");

}void sort(int *a,int n)}

19樓:匿名使用者

#include

#include

// 選擇插入法排序

void sort(int a, int n)}int main()

return 0;}

20樓:荷z06d郄

排序演算法冒泡,快排,堆排序,桶排序,插入排序,好多啊,你要哪一種

21樓:匿名使用者

//從小到大的排序

int i,j;

int temp;//臨時

for(i=0;ia[j])

c語言用選擇法對陣列中整數按由小到大排序

首先以array 0 作為參照,從左到右掃描,找到最小的資料與array 0 位置交換。接下來以array 1 作為參照,重複上述過程。k i定位參照 k j找到剩下陣列中最小值 k i是為了每次迴圈都從當前項開始呀。k j 不是你說的j k 是為了記錄後面的最小項,以方便替換。 從第i個數開始,比...

c語言選擇排序法我排的執行結果不對求助高

捌零老陳 for i 0 i 9 i include int main int i,j,t,a 10 幫你去掉了變數k,minprintf 請輸入10個數 n for i 0 i 10 i scanf d a i for i 0 i 9 i 幫你去掉了k i賦值操作 for j i 1 j 9 j ...

c語言選擇題,C語言選擇題?

首先a,每次j的for迴圈中,s的值也都會重新歸0,但題目中的s只在i的for迴圈中歸0,在j的迴圈中是不斷累加的過程,因此a是錯的。b中,j的初始話在i中,但這樣j 0實際只會執行一次,也就是說,j的for迴圈除了第一次迴圈10次外,以後的幾次會因為直接j 10而不會有迴圈,所以b是錯的 c中,i...