首頁>Club>
6
回覆列表
  • 1 # 不存在的成小呵


    1、選擇排序法

    要求輸入10個整數,從大到小排序輸出

    輸入:2 0 3 -4 8 9 5 1 7 6

    輸出:9 8 7 6 5 3 2 1 0 -4

    程式碼:

    #include<stdio.h>

    int main(int argc,const char*argv[]){

    int num[10],i,j,k,l,temp;

    //用一個數組儲存輸入的資料

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

    {

    scanf("%d",&num);

    }

    //用兩個for巢狀迴圈來進行資料大小比較進行排序

    for(j=0;j<9;j++)

    {

    for(k=j+1;k<=9;k++)

    {

    if(num[j]<num[k])//num[j]<num[k]

    {

    temp=num[j];

    num[j]=num[k];

    num[k]=temp;

    }

    }

    }

    //用一個for迴圈來輸出陣列中排序好的資料

    for(l=0;l<=9;l++)

    {

    printf("%d",num[l]);

    }

    return 0;

    }

    2、氣泡排序法

    要求輸入10個整數,從大到小排序輸出

    輸入:2 0 3-4 8 9 5 1 7 6

    輸出:9 8 7 6 5 3 2 1 0-4

    程式碼:

    #include<stdio.h>

    int main(int argc,const char*argv[]){

    //用一個數組來存資料

    int num[10],i,j,k,l,temp;

    //用for來把資料一個一個讀取進來

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

    {

    scanf("%d",&num);

    }

    //用兩次層for迴圈來比較資料,進行冒泡

    for(j=0;j<9;j++)

    {

    for(k=0;k<9-j;k++)

    {

    if(num[k]<num[k+1])//num[k]<num[k+1]

    {

    temp=num[k];

    num[k]=num[k+1];

    num[k+1]=temp;

    }

    }

    }

    //用一個for迴圈來輸出陣列中排序好的資料

    for(l=0;l<=9;l++)

    {

    printf("%d",num[l]);

    }

    return 0;

  • 中秋節和大豐收的關聯?
  • 小米12S Ultra值得買嗎?有哪些亮點和不足?