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、氣泡排序法
輸入:2 0 3-4 8 9 5 1 7 6
輸出:9 8 7 6 5 3 2 1 0-4
//用一個數組來存資料
//用for來把資料一個一個讀取進來
//用兩次層for迴圈來比較資料,進行冒泡
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;
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;