思路:如果利用if進行三個數a,b,b的排序,則先利用if判斷a和b的大小,把小數賦值給a大數賦值給b,再利用if判斷c和b的大小,把小數賦值給b大數賦值給c,則c就是最大值,最后比較a和b的大小,把小數賦值給a大數賦值給b,則a就是最小數,b是中間值,輸出a,b,c就是排序后數。
創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站設計、成都做網站、景東網絡推廣、小程序開發、景東網絡營銷、景東企業策劃、景東品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯為所有大學生創業者提供景東建站搭建服務,24小時服務熱線:18982081108,官方網址:vcdvsql.cn
參考代碼:
#include?stdio.h
int?main()
{
int?a,b,c,t;
scanf("%d%d%d",a,b,c);?????
if(ab)//前判斷a和b的大小?
{t=b;b=a;a=t;}
if(bc)//再判斷b和c的大小?
{t=b;b=c;c=t;}
if(ab)//最后判斷a和b的大小?
{t=a;a=b;b=t;}
printf("%d%d%d",a,b,c);
return?0;
}?
/*
輸出:
5?1?9
159
*/
第一個if,作用是:如果ab,就借用tem變量,把a 和b的值交換一下。確保交換之后a不大于b。
第二個if,執行后,把a與c中較小的數放在a中,即a不大于c。
第三個if,確保了a不大于d。
通過運行前三個if語句,把abcd四個數中最小的數字放在了變量a中。
同樣,第四和第五個if語句,把bcd三個數中最小的數字放在了b變量中。
最后一個if,把小數放在c中,而把最大的數放到d中。
從而實現了排序的目的。
有什么問題請留言。
常用的c語言排序算法主要有三種即冒泡法排序、選擇法排序、插入法排序。
一、冒泡排序冒泡排序:
是從第一個數開始,依次往后比較,在滿足判斷條件下進行交換。代碼實現(以降序排序為例)
#includestdio.h
int main()
{
int array[10] = { 6,9,7,8,5,3,4,0,1,2 };
int temp;
for (int i = 0; i 10; i++)
{//循環次數
for (int j = 0; j 10 - i-1; j++)
{
if (array[j] array[j+1])
{//前面一個數比后面的數大時發生交換 temp = array[j];
array[j] = array[j+1];
array[j + 1] = temp;
}
}
} //打印數組 for (int i = 0; i 10; i++) printf("%2d", array[i]); return 0;}}
二、選擇排序以升序排序為例:
就是在指定下標的數組元素往后(指定下標的元素往往是從第一個元素開始,然后依次往后),找出除指定下標元素外的值與指定元素進行對比,滿足條件就進行交換。與冒泡排序的區別可以理解為冒泡排序是相鄰的兩個值對比,而選擇排序是遍歷數組,找出數組元素與指定的數組元素進行對比。(以升序為例)
#includestdio.h
int main()
{
int array[10] = { 6,9,7,8,5,3,4,0,1,2 };
int temp, index;
for (int i = 0; i 9; i++) {
index = i;
for (int j = i; j 10; j++)
{
if (array[j] array[index])
index = j;
}
if(i != index)
{
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
for(int i=0;i10:i++)
printf("%2d"array[i])
return 0;
}
三、快速排序
是通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。
void QuickSort(int* arr, int size)
{
int temp, i, j;
for(i = 1; i size; i++)
for(j=i; j0; j--)
{
if(arr[j] arr[j-1])
{
temp = arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
如果a=5 b=4 c=3,因為ab 固執行第一個if語句 執行后a=4 b=5 c=3 t=5,進入第二個if語句判斷a=4c=3故執行第二個if語句,執行后a=3 b=5 c=4 t=4 ,進入第三個if語句判斷b=5c=4,故執行第三個if語句,所以當輸入為5,4,3時 執行了三個if語句!
分享名稱:c語言排序算法if函數 如何用if函數排序
文章出自:http://vcdvsql.cn/article6/dooogig.html
成都網站建設公司_創新互聯,為您提供響應式網站、網站營銷、App設計、網站排名、網頁設計公司、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯