c语言调用函数fun其功能是用选择法对10个整数按降序排序
时间: 2023-11-21 16:58:26 浏览: 99
以下是一个使用选择排序算法对10个整数按降序排序的C语言函数fun的实现:
```c
void fun(int arr[], int n) {
int i, j, temp, max_index;
for (i = 0; i < n - 1; i++) {
max_index = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
if (max_index != i) {
temp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = temp;
}
}
}
```
该函数的参数包括一个包含10个整数的数组和数组的长度n。在函数内部,我们使用选择排序算法对数组进行降序排序。首先,我们从数组的第一个元素开始,找到数组中最大的元素,并将其与第一个元素交换。然后,我们从第二个元素开始,找到剩余元素中最大的元素,并将其与第二个元素交换。重复此过程,直到整个数组被排序。
相关问题
用c语言编写:调用函数fun(),其功能是用选择法对10个整数按降序进行排序。
下面是用C语言实现的调用函数fun(),实现选择排序(降序)的代码:
```c
#include <stdio.h>
void fun(int arr[], int n);
int main() {
int arr[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
int n = sizeof(arr) / sizeof(arr[0]);
fun(arr, n);
printf("降序排序后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void fun(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 (max_index != i) {
int temp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = temp;
}
}
}
```
运行结果如下:
```
降序排序后的数组为:
10 9 8 7 6 5 4 3 2 1
```
用c语言写一个代码,要求是调用函数fun(),其功能是用选择法对10个整数按降序进行排列,
以下是用选择排序法对10个整数按降序排列的C语言代码:
```
#include <stdio.h>
void fun(int arr[], int n);
int main() {
int arr[10] = {5, 2, 9, 1, 7, 4, 8, 3, 6, 0};
fun(arr, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void fun(int arr[], int n) {
int temp, maxIndex;
for (int i = 0; i < n - 1; i++) {
maxIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
if (maxIndex != i) {
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
```
在主函数中,我们定义了一个包含10个整数的数组`arr`,然后将其传递给`fun`函数进行排序。排序完成后,我们再在主函数中打印输出排好序的数组。
在`fun`函数中,我们使用了选择排序的思想,每次从未排序的部分中选择一个最大的元素,然后将其与当前未排序部分的第一个元素交换位置。通过多次这样的操作,就可以将整个数组按降序排列。
阅读全文