c 语言逆序输出数组
时间: 2023-08-08 11:09:29 浏览: 298
要逆序输出一个数组,可以使用循环遍历数组并倒序输出元素。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\nReversed array: ");
for (int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
相关问题
C语言用指针逆序输出数组
在C语言中,你可以使用指针和数组的特点来逆序输出数组元素。这里是一个简单的示例,假设我们有一个整型数组`arr`,我们可以创建两个指针`start`和`end`,分别指向数组的第一个元素和最后一个元素,然后通过循环交换它们所指向的值并移动指针,直到两者相遇。
```c
#include <stdio.h>
void reverseArray(int* arr, int size) {
// 定义指针 start 和 end 分别指向数组首尾
int *start = arr;
int *end = arr + size - 1;
// 当 start 小于等于 end 时,继续交换元素
while (start < end) {
// 临时存储 start 指向的值
int temp = *start;
// 把 end 的值赋给 start,并移动 start
*start++ = *end--;
// 把临时值赋给 end,并移动 end
*end = temp;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 反转数组
reverseArray(arr, n);
printf("\nReversed array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行这个程序,你会看到原数组和其逆序的结果。
c 语言逆序输出字符
在C语言中,如果要逆序输出一个字符数组,你可以通过两层循环来实现。外层循环控制行数,内层循环控制每行字符的顺序,从后向前打印。以下是基本的示例代码:
```c
#include <stdio.h>
void reverse(char str[], int len) {
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1] = temp;
}
}
void print_chars_in_reverse(char *str) {
int len = strlen(str);
reverse(str, len);
for (int i = 0; i < len; i++) {
printf("%c", str[i]); // 输出每个字符
if ((i + 1) % 8 == 0 || i == len - 1) { // 控制每行显示8个字符
printf("\n"); // 换行
}
}
}
int main() {
char str[] = "Hello, World!";
print_chars_in_reverse(str);
return 0;
}
```
这个程序首先计算字符串长度,然后通过`reverse`函数交换字符位置,最后使用`print_chars_in_reverse`函数按行逆序打印字符。注意这里假设每行最多显示8个字符,可根据实际需求调整换行的位置。
阅读全文