用C语言编写程序,设计一个通用的整型数组由大到小排序函数(用数组名作函数参数),然后调用
时间: 2024-02-21 20:58:12 浏览: 24
好的,下面是代码实现:
```c
#include <stdio.h>
// 由大到小排序
void sort(int arr[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[] = {3, 2, 5, 1, 4};
int len = sizeof(arr) / sizeof(int);
sort(arr, len);
printf("排序后的数组:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这是一个简单的冒泡排序实现,我们可以将要排序的数组和数组长度作为函数参数传入,然后在函数中进行排序操作。最后在主函数中调用该排序函数即可。
相关问题
用C语言设计一个通用的整型数组由大到小的排序函数(用数组名作函数参数),然后调用
好的,下面是代码实现:
```c
#include <stdio.h>
void sort(int arr[], int n) {
int i, j, tmp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
int main() {
int arr[] = {5, 3, 7, 1, 9, 2};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, n);
int i;
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,`sort()` 函数接收一个整型数组 `arr` 和数组长度 `n`,并使用冒泡排序算法将数组从大到小进行排序。在 `main()` 函数中,我们声明一个整型数组 `arr` 并初始化,然后调用 `sort()` 函数对其进行排序,最后输出排序后的结果。
你可以直接复制代码到 C 语言的编译器中运行,输出结果为:
```
9 7 5 3 2 1
```
这是按照从大到小的顺序排列的整型数组。
用C语言编写程序,设计一个通用的整形数组由大到小的排序函数(用数组名作函数参数),然后调用
好的,以下是用C语言编写通用的整形数组由大到小的排序函数的示例代码:
```c
#include <stdio.h>
void sort(int *arr, int size) {
int i, j, temp;
for (i = 0; i < size - 1; i++) {
for (j = i + 1; j < size; j++) {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int arr[] = {6, 3, 8, 5, 2, 7, 4, 1};
int size = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
sort(arr, size);
printf("\nSorted array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在该示例代码中,我们定义了一个名为`sort`的函数,该函数接受两个参数:一个整形数组和数组的大小。函数使用嵌套的循环来比较数组中的每一对元素,并交换它们的位置,以便将数组从大到小排序。最后,在`main`函数中,我们定义了一个整形数组,并将其大小计算为数组元素的数量。然后,我们调用`sort`函数对数组进行排序,并输出原始数组和排序后的数组以进行比较。