逆序输出 C 语言93


逆序输出是指将一个序列或数组中的元素从后往前输出。在 C 语言中,我们可以通过多种方式实现逆序输出。

使用 for 循环

一种简单的方法是使用 for 循环逐个遍历数组,并从最后一个元素开始输出。代码如下:```c
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
for (int i = size - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```

使用 while 循环

也可以使用 while 循环来实现逆序输出。只要索引大于或等于 0,循环就会继续进行。```c
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int i = size - 1;
while (i >= 0) {
printf("%d ", arr[i]);
i--;
}
return 0;
}
```

递归

递归是一种将问题分解为更小版本的方法。它可以用来实现逆序输出,方法如下:```c
#include
void reverse(int arr[], int start, int end) {
if (start >= end) {
return;
}
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
reverse(arr, start + 1, end - 1);
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
reverse(arr, 0, size - 1);
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```

使用数组反转函数

C 语言标准库中提供了 stdlib.h 头文件中的 qsort() 函数,它可以对数组进行排序。通过将比较函数更改为 qsort() 中的逆序比较函数,我们可以使用它来逆序输出数组。```c
#include
#include
int compare(const void *a, const void *b) {
return *(int *)b - *(int *)a;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
qsort(arr, size, sizeof(arr[0]), compare);
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```

2024-10-16


上一篇:C 语言四舍五入函数:round()

下一篇:用 C 语言输出字母 “e“