c語言輸入數用呼叫函式的方法從小到大排

2021-08-10 04:06:23 字數 4249 閱讀 2201

1樓:風翼殘念

#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("請輸入五個數(逗號隔開):");

scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);

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語言基礎型別。

2樓:小周愛嘮叨

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

3樓:匿名使用者

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

對5個數進行冒泡法

迴圈執行函式就行了

4樓:系榆

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

}return;

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

4個數比較大小,結果從小到大排列,用c語言怎麼編?

5樓:育知同創教育

#include

void main()

if (a>c)

if (a>d)

if(b>c)

if(b>d)

if(c>d)

printf("%5.2f,%5.2f,%5.2f,%5.2f\n",a,b,c,d);

}運用氣泡排序演算法,小的數字不斷上升,最上面的是最小的,大的數字下沉,最後就依次輸出就可以了。

6樓:似水流年

冒泡 排序演算法!!

#include

void main()

.for( i=1;i<=3;i++)}}//輸出陣列中的元素

for(int j=0;j<=3;++j)}上機試一試吧!!!

7樓:

定義一個兩個數的比較函式

int max()

}再來個for()迴圈就行了

8樓:市娜符桃

int[4]

info;

for(int

j=0;j<4;j++)}}

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

9樓:風吹的小羊

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語言程式設計: 從使用者輸入10個整數,對其按照從小到大的順序排序,並輸出結果。

10樓:凌亂心扉

//要求任意輸入10個數,然後按從小到大順序輸出#include

int main()

for(i=0;i<9;i++)}}

printf("排列後順序為:");

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

printf("\n");

return 0;}

11樓:匿名使用者

要求任意輸入10個數,然後按從小到大順序輸出#include

int main()

for(i=0;i<9;i++)}}

printf("排列後順序為:");

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

printf("\n");

return 0;}

12樓:匿名使用者

#include

int main(void)

for(i = 0;i < 10;i++)}c = arr[i];

arr[i] = min;

arr[mini] = c;

}for(i = 0;i < 10;i++)}望採納。

13樓:千年菡

#include

int main(void)

//輸入·十個數

for (j = 1; j <= 9; j++) // 冒泡法排序}}

printf("從小到大排\n");

for (i = 0; i < 10; i++)return 0;}

14樓:匿名使用者

先定義一個陣列存這十個數,要看你用什麼演算法了,根據不同演算法進行篩選

15樓:匿名使用者

#include<stdio.h>

int main()bai

c語言:呼叫自定義排序函式sort,對輸入的n個數進行從小到大輸出。

16樓:

p[i]就是指標p指向的陣列的下標為i的元素。

c語言,寫一個函式,使用冒泡法對輸入的6個整數進行從小到大的排序 10

17樓:

#include void sort(int a,int n) } } } int main() ; sort(a,10); int i; for(i=0;i<10;i++) getchar(); return 0; }

c語言遞迴求階乘,c語言怎麼用遞迴呼叫函式的方法求n的階乘?

問明 舉例 用遞迴方法求n include int main int n int y printf input a integer number scanf d n y fac n printf d d n n,y return 0 int fac int n int f if n 0 printf...

求教C語言的函式的遞迴呼叫,c語言函式遞迴呼叫看不懂了,求教

答案是16 fit 6 呼叫函式 fit 5 fit 4 繼續呼叫 fit 4 fit 3 fit 3 fit 2 繼續呼叫 fit 3 fit 2 fit 2 fit 1 fit 2 fit 1 fit 2 呼叫fit 2 fit 1 fit 2 fit 2 fit 1 fit 2 fit 1 f...

C語言中,主函式中呼叫隨機數函式,保證每次產生的隨機數不重複,該如何弄呢

其實只要做一次種,然後再呼叫rand 就能產生不同的結果了,不用每次呼叫專rand 之前都用srand 做種的也就屬是說你那個程式可以改為 srand time 0 for a 0 a 200 a 如果你利用 srand time null 產生種子的話 可以這麼做 include include ...