C //例 7.12 用选择法对数组中10个整数按由小到大排序。

C程序设计 (第四版) 谭浩强 例 7.12

例 7.12 用选择法对数组中10个整数按由小到大排序。

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。

 

代码块
方法:使用指针、动态分配内存
#include 
#include 

#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 selection(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("New 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);
	selection(arr, N);
	outputArr(arr, N);
	free(arr);

	system("pause");
	return 0;
}

你可能感兴趣的:(#,C程序设计,(第四版),谭浩强,课后习题,C/C++,个人设计,c语言,算法)