C程序设计 (第四版) 谭浩强 例8.10
例 8.10 用指针方法对10个整数按由大到小顺序排序。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
#include <stdio.h>
#include <stdlib.h>
#define N 10
void initialArr(int **arr, int n){
*arr = (int*)malloc(n * sizeof(int));
}
void inputArr(int *arr, int n){
printf("Enter %d numbers: ", n);
for(int i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
}
void decendingSort(int *arr, int n){
int temp;
for(int i = 0; i < n; i++){
for(int j = i + 1; j < n; j++){
if(arr[i] < arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] =temp;
}
}
}
}
void outputArr(int *arr, int n){
printf("Decending Sort: ");
for(int i = 0; i < n; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
int main(){
int *arr = NULL;
initialArr(&arr, N);
inputArr(arr, N);
decendingSort(arr, N);
outputArr(arr, N);
free(arr);
system("pause");
return 0;
}