C语言 指针 从键盘输入10个整数,用选择法对其从大到小排序并输出。
时间: 2023-11-21 21:22:53 浏览: 132
C语言程序设计-从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出;本.c
5星 · 资源好评率100%
好的,这道题可以使用选择排序的方法来实现。
选择排序的基本思路是:每次从待排序的数组中选择一个最大或最小的元素,然后将其放在已排序的数组的最后面或最前面。重复这个过程,直到整个数组都被排序。
以下是使用指针的选择排序实现代码:
```c
#include <stdio.h>
void selection_sort(int *arr, int n) {
for (int i = 0; i < n - 1; i++) {
int max_index = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
if (i != max_index) {
int temp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = temp;
}
}
}
int main() {
int arr[10];
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, 10);
printf("从大到小排序后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,我们定义了一个 `selection_sort` 函数来实现选择排序。函数中使用两个嵌套的循环,外层循环控制已排序的元素个数,内层循环用于在待排序的元素中查找最大值,并将其放在已排序数组的末尾。
同时,我们使用指针来操作数组,可以提高程序的效率。在函数调用时,可以传入数组的首地址,也就是数组的指针。在函数内部,可以使用指针来访问数组元素,这样就不需要传入数组的长度了。
希望这个例子能够帮助你理解指针的使用,和选择排序的实现。
阅读全文