當前位置:編程學習大全網 - 源碼下載 - c語言的兩種排序?

c語言的兩種排序?

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<i>);

}

//用兩個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<i>);

}

//用兩次層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;

}

擴展資料:

return 0代表程序正常退出。return是C++預定義的語句,它提供了終止函數執行的壹種方式。當return語句提供了壹個值時,這個值就成為函數的返回值。

return語句用來結束循環,或返回壹個函數的值。

1、return 0,說明程序正常退出,返回到主程序繼續往下執行。

2、return 1,說明程序異常退出,返回主調函數來處理,繼續往下執行。return 0或return 1對程序執行的順序沒有影響,只是大家習慣於使用return(0)退出子程序而已。

  • 上一篇:心臟源代碼
  • 下一篇:自己如何搭建socks5單窗口單ip?
  • copyright 2024編程學習大全網