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

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

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所指向的變數。

怎麼在matlab自定義函式中再呼叫自定義函式

1 函式檔案 呼叫函式檔案 定義多個m檔案 呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 這種方...

js如何呼叫自定義函式,matlab 如何建立 呼叫自定義函式?

自定義函式就是說自己寫的函式,只有自己呼叫,或是自己共享給別人後別人才可以呼叫的。也可以理解為私有函式。function a 定義一個函式,名字是a。函式呼叫,就是讓函式執行。a 函式名字後面加一對小括號就可以執行了,頁面中將彈出一個 1 這個對話方塊必須要用模擬的那種 用div做一個對話方塊,網上...

python中怎麼在自定義函式呼叫另外函式中的引數

寫成類,引用 呼叫 python中怎麼在自定義函式呼叫另外一個函式中的引數 def a global q q 1 2 return q def b a c 2 q print c b 5 q 3函式中的變數在外面呼叫,需要申明為全域性變數 python中怎麼呼叫自定義函式?1 首先在當前目錄下找有沒...