c语言定义数组判断是升序还是降序,升序则打印出1,降序则打印出2
时间: 2024-04-12 13:28:55 浏览: 98
你可以使用C语言来定义一个函数,用于判断数组是升序还是降序,并根据判断结果进行打印。以下是一个示例代码:
```c
#include <stdio.h>
int checkOrder(int array[], int length) {
int isAscending = 1;
int isDescending = 1;
for (int i = 0; i < length - 1; i++) {
if (array[i] > array[i+1]) {
isAscending = 0;
}
if (array[i] < array[i+1]) {
isDescending = 0;
}
}
if (isAscending) {
return 1;
} else if (isDescending) {
return 2;
} else {
return 0;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
int order = checkOrder(arr, length);
if (order == 1) {
printf("升序\n");
} else if (order == 2) {
printf("降序\n");
} else {
printf("既不是升序也不是降序\n");
}
return 0;
}
```
在上述代码中,`checkOrder` 函数接受一个整型数组和数组的长度作为参数,返回一个整型值表示数组的顺序。在 `main` 函数中,我们定义一个整型数组 `arr`,并将其长度传递给 `checkOrder` 函数。根据返回的结果,我们打印出对应的顺序信息。
注意:这里使用了 `sizeof(arr) / sizeof(arr[0])` 来获取数组的长度,这种方式只适用于在同一作用域内定义的数组。如果你在函数内部使用动态分配的数组,则需要传递数组长度作为参数。
阅读全文