亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問該怎么編寫函數sort,實現整數型數組元素的升序排列?

請問該怎么編寫函數sort,實現整數型數組元素的升序排列?

紫衣仙女 2019-07-09 10:06:45
編寫函數sort,實現整數型數組元素的升序排列
查看完整描述

6 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

#include <stdio.h>#include <conio.h> #define LEN 100 /*數組長度上限*/#define elemType int /*元素類型*/ /*升序冒泡排序*//*參數說明:*//*int arr[]:排序目標數組*//*int len:元素個數*/void bubbleSortAsc (elemType arr[], int len) {    elemType temp;    int i, j;    for (i=0; i<len-1; i++) /*外循環控制排序趟數,len-1個數進行len-1趟*/        for (j=0;j<len-1-i; j++) { /*內循環每趟比較的次數,第j趟比較len-j次*/            if (arr[j] > arr[j+1]) { /*相鄰元素比較,逆序則交換*/                temp = arr[j];                arr[j] = arr[j+1];                arr[j+1] = temp;            }        }} /*打印數組*/void printArr (elemType arr[], int len) {    int i;    for (i=0; i<len; i++)        printf ("%d\t",arr[i]);    putchar ('\n');} int main (void) {    elemType arr[LEN] = {3,5,1,7,4,9,6,8,10,4};    int len;         len = 10;         puts ("初始數組:");    printArr (arr,len);    putchar ('\n');         bubbleSortAsc (arr, len); /*升序冒泡排序*/    printArr (arr,len);    putchar ('\n');     getch (); /*屏幕暫留*/    return 0;}

運行結果



查看完整回答
反對 回復 2019-07-13
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

//希望我的回答對你的學習有幫助

#include <stdio.h>

 

#define N 3        //定義數組的大小,表示數組中可以放的個數

 

void Sort(int IntArray[N])        //冒泡算法

{

    for (int i = 0; i < N - 1; i++)

    {

        for (int j = 0; j < N - i - 1; j++)

        {

            int temp;

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

            {

                temp = IntArray[j];

                IntArray[j] = IntArray[j + 1];

                IntArray[j + 1] = temp;

            }

        }

    }

}

 

int main()

{

    int IntArray_T[N] = {};

 

    for (int i = 0; i < N; i++)        //輸入

    {

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

    }

 

    Sort(IntArray_T);

 

    for (int i = 0; i < N; i++)        //輸出

    {

        printf("%4d", IntArray_T[i]);

    }

     

    return 0;

}


查看完整回答
反對 回復 2019-07-13
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

#include <stdio.h>

 

void sort(int a[], int n) {//選擇排序

    int i,j,k,t;

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

        k = i;

        for(j = k + 1; j < n; ++j) {

            if(a[k] > a[j]) k = j;

        }

        if(k != i) {

            t = a[i];

            a[i] = a[k];

            a[k] = t;

        }

    }

}

 

int main() {

    int a[] = {21,16,30,21,8,19,33,26,28,27,24,50,13,12};

    int i,n = sizeof(a)/sizeof(a[0]);

    printf("排序前:\n");

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

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

    printf("\n");

    sort(a,n);

    printf("排序后:\n");

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

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

    printf("\n");

    return 0;

}


查看完整回答
反對 回復 2019-07-13
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

#include <stdio.h>
void sort(int a[],int n)//選擇排序
{
int i,j,t,temp;
for(i=0;i<n-1;i++)
{
t=i;
for(j=i+1;j<n;j++)
{
if(a[t]>a[j])
{
t=j;
}
}
if(t!=i)
{
temp = a[i];
a[i] = a[t];
a[t] = temp;
}
}
}
void main()
{
int a[4];
int i;
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
sort(a,4);
for(i=0;i<4;i++)
{
printf("%d ",a[i]);
}
}



查看完整回答
反對 回復 2019-07-13
  • 6 回答
  • 0 關注
  • 1479 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號