3、编写自定义函数,判断数组中的元素是否按降序排列,采用指针进行参数的传递。
时间: 2024-02-15 17:02:52 浏览: 64
可以参考下面的代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断数组是否按降序排列
bool isSortedDescending(int *arr, int len) {
for (int i = 0; i < len - 1; i++) {
if (arr[i] < arr[i+1]) {
return false;
}
}
return true;
}
int main() {
// 测试
int arr1[] = {5, 3, 2, 1};
int arr2[] = {9, 8, 6, 4, 3};
int arr3[] = {1, 3, 5, 7, 9};
printf("arr1 is %ssorted descending.\n", isSortedDescending(arr1, 4) ? "" : "not ");
printf("arr2 is %ssorted descending.\n", isSortedDescending(arr2, 5) ? "" : "not ");
printf("arr3 is %ssorted descending.\n", isSortedDescending(arr3, 5) ? "" : "not ");
return 0;
}
```
这里使用了 `bool` 类型来表示是否按降序排列,函数中首先遍历整个数组,判断相邻两个元素的大小关系,如果发现有任意一个相邻的元素比后面的元素大,则说明数组不是按降序排列的,返回 `false`。如果遍历整个数组后都没有发现这样的情况,则说明数组按降序排列,返回 `true`。
在 `main` 函数中,我们分别测试了三个数组的情况,输出结果如下:
```
arr1 is sorted descending.
arr2 is sorted descending.
arr3 is not sorted descending.
```
阅读全文