這個題目用編程來實現非常簡單,由於我在上一篇博客中已經介紹過使用“冒泡排序”的方法。
所以我在這里直接給出使用“冒泡排序”寫出的代碼:
#include<stdio.h> int main() { int arr[] = { 456,789,123 }; int i, j, t; for (i = 0; i < 2; i++) { for (j = 0; j<2 - i; j++) { if (arr[j]<arr[j + 1]) { t = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = t; } } } for (i = 0; i < 3; i++) { printf("%d ", arr[i]); } printf("\n"); system("pause"); return 0; }
由於本題數據個數非常少,我們也可以用最簡單的if語句進行交換兩值的內容來進行大小排序。
在上上篇博客中我也介紹過如何進行兩數內容的交換。
代碼如下:
int main() { int a = 456, b = 789, c = 123, temp; if (a < b) { temp = a; a = b; b = temp; } if (a < c) { temp = a; a = c; c = temp; } if (b < c) { temp = b; b = c; c = temp; } printf("%d %d %d\n", a, b, c); system("pause"); return 0; }
當然編程的方法並不止這么兩種,具體的排序方法還有很多,例如:堆排序、快排等等。
其他的排序方法等我復習到算法時會繼續為大家更新的。
最后附上本次程序的運行結果: