C語言 呼叫自定義交換函式,完成浮點數從小到大排列

2021-08-10 04:09:57 字數 3003 閱讀 7288

1樓:

正如樓上所說,這個方法是很多的。我舉一個例子:

#include

void swap(double *x,double *y)//定義交換函式

main()

;for(i=0;i<=3;i++) //氣泡排序for(j=0;j<=3-i;j++)

if(st[j]>st[j+1])

swap(&st[j],&st[j+1]);

for(i=0;i<5;i++) //輸出printf("%f\t",st[i]);

}這個程式只能給5,3,1,6,2排序,要想給任意的數排序稍微改動一下就行了,請樓主自己完成,不會的話隨時可以問我。

2樓:

我幫你寫了一個,希望能幫到你

#include

void swap(double a[5])//交換函式}}}int main()

swap(a);

for(m=0;m<5;m++)//輸出排序結果printf("\n");

return 0;}

3樓:匿名使用者

排列是很經典的題目 常用的方法有冒泡法 選擇法 他們都是通過陣列儲存 核心思想都很簡單 建議你自己上網搜下演算法 自己搞定

c語言:輸入5個數,用呼叫函式的方法,從小到大排序 用簡單點的

4樓:風翼殘念

#include

void sort(float *a, int n)

int i,j,tmp;

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

tmp = a[j];

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

a[j+1] = tmp;

}void main()

float a[5];

int i;

printf("請輸入五個數(逗號隔開):");

sort(a,5);

printf("排序後為:");

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

printf("%.2f ",a[i]);

printf("\n");

或者三個數的。

void sort(int *a, int *b, int *c)

int tmp;

if(*a>*b)

對於這樣的自定義sort函式,可以按照定義的規範來呼叫。

二、c語言有自有的qsort函式。

功 能: 使用快速排序例程進行排序。標頭檔案:stdlib.h

原型:void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

引數:1、待排序陣列首地址。

2、陣列中待排序元素數量。

3、各元素的佔用空間大小4 指向函式的指標,用於確定排序的順序,這個函式必須要自己寫比較函式,即使要排序的元素是int,float一類的c語言基礎型別。

5樓:小周愛嘮叨

1、在開頭處定義了兩個指標變數point_1和point_2。但此時他們並未指向任何一個變數,只是提供兩個指標變數,規定他們可以指向整形變數,至於指向哪一個整形變數,要在程式語句中指定。程式第6,7兩行的作用就是使point_1指向a,point_2指向b,此時point_1的值為&a(即a的地址),point_2的值為&b。

2、第10行輸出*point_1和*point_2的值,其中的「*」表示「指向」。*point_1表示「指標變數point_1所指向的變數」,也就是變數a。*point_2表示「指標變數point_2所指向的變數」,也就是變數b。

從執行結果來看他們也就是100和10.

3、程式中有兩處出現*point_1和*point_2,但是兩者含義不同。程式第5行的*point_1和*point_2表示定義兩個指標變數*point_1和*point_2。它們前面的「*」只是表示該變數是指標變數。

程式最後10行中的printf函式中的*point_1和*point_2則表示指標變數point_1和point_2所指向的變數。

6樓:匿名使用者

自定義一個交換兩個數的函式

對5個數進行冒泡法

迴圈執行函式就行了

7樓:系榆

void bubble_sort(int array,int n)}if(1 == flag)

}return;

}呼叫時,n的值為5就可以了,你可以將輸入的資料儲存到長度為5的陣列裡面,然後呼叫這個排序方法,希望可以幫到你,望採納

c語言如何用呼叫函式的方法把5個數字從小到大排序?

8樓:風吹的小羊

1、在開頭bai處定義了兩個du

指標變數point_1和point_2。但此時他zhi們並未指向任何dao一個回變數,只是提供兩答

個指標變數,規定他們可以指向整形變數,至於指向哪一個整形變數,要在程式語句中指定。程式第6,7兩行的作用就是使point_1指向a,point_2指向b,此時point_1的值為&a(即a的地址),point_2的值為&b。

2、第10行輸出*point_1和*point_2的值,其中的「*」表示「指向」。*point_1表示「指標變數point_1所指向的變數」,也就是變數a。*point_2表示「指標變數point_2所指向的變數」,也就是變數b。

從執行結果來看他們也就是100和10.

3、程式中有兩處出現*point_1和*point_2,但是兩者含義不同。程式第5行的*point_1和*point_2表示定義兩個指標變數*point_1和*point_2。它們前面的「*」只是表示該變數是指標變數。

程式最後10行中的printf函式中的*point_1和*point_2則表示指標變數point_1和point_2所指向的變數。

大神,請教一道c語言題目 呼叫自定義函式search int

include include define n 20 int arr n int search int list,int n,int x int main return 0 c語言程式設計問題問題描述 定義函式void sort int a int n 用選擇法對陣列a 中的元素升序排列。自定義 ...

c語言中自定義函式與系統函式的區別

系統函式是包含在系統標頭檔案中的函式,它作為一個外部函式可以被所以包含它標頭檔案的檔案中使用。static除外 庫檔案中的函式多數是與系統無關的,可移植的。自定義函式 包含在自己建立的檔案中,在使用時包含該檔案。1 位置上 系統在系統預設的位置,自定義在本工程的資料夾下 比如 include inc...

Python27自定義函式呼叫問題

蛋疼的公司網路,看不到 首先確認下是否import成功了 比如你import knn 那你呼叫的專時候要寫 屬knn.classify0 不然就寫 from knn import 然後就可以直接呼叫了 預設你放在同個目錄下 感覺像 縮排沒對。關於python自定義函式在呼叫問題。10 a 0def ...