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語言中自定義函式的寫法是怎樣的
看你的函式功能是幹什麼,函式開頭用不用int看的是你函式最後要返回什麼值,返回的型別是什麼就用什麼,格式如下 函式返回型別 沒有返回就void,返回整型就int,字元就char等等 函式名 函式引數。例如定義一個加法函式,最後返回整型就 int addfunction int a,int b 自定義...
c語言求救二實驗內容編寫自定義子函式實
古神孤鴻 include define n 10 void swap int a,int b,int n int main void void swap int a,int b,int n c語言 指標 編寫一個函式實現n n矩陣轉置。在主函式中用scanf輸入矩陣元素 將陣列名作為函式實參。 庫後...
簡述c語言中使用者自定義函式由哪幾部分組成
定義乙個函式我們需要確定以下內容 1 函式的返回值型別 2 函式的名稱 3 函式的引數 4 函式主體 塊 示例 int defineplus int a,int b a a 1 b b 1 return a b 例如上面 中就定義了乙個返回值為int型別的函式,其函式名為defineplus,一對小...