用指向指针的指针的方法对n个整数排序并输出.要求将排序单独写成一格函数.n个整数在主函数中输入,最后在主函数中输出.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void sort(int** arr, int n) {
int tepm;
for (int i = 0; i < n; ++i) {
int min = i;
for (int j = i + 1; j < n; ++j) {
if (**(arr + j) < **(arr + min)) {
min = j;
}
}
if (min != i) {
tepm = **(arr + i);
**(arr + i) = **(arr + min);
**(arr + min) = tepm;
}
}
for (int i = 0; i <n ; ++i) {
printf("%d ", **(arr + i));
}
printf("\n");
}
void main() {
int n;
printf("请输入n的值\n");
scanf("%d",&n);
int* a = (int*)malloc(n * sizeof(int));
int** arr= (int**)malloc(n * sizeof(int*));
for (int i = 0; i < n; ++i) {
*(arr + i) = a + i;
}
for (int i = 0; i < n; ++i) {
printf("请输入数组的第%d个数\n", i + 1);
scanf("%d", *(arr + i));
system("cls");
}
printf("你输入的数组为:\n");
for (int i = 0; i < n; ++i) {
printf("%d ", **(arr + i));
}
printf("\n");
sort(arr, n);
system("pause");
}
