c语言用数组实现倒序
时间: 2023-11-24 14:50:22 浏览: 114
要用C语言实现数组的倒序,可以使用以下代码:
```c
#include <stdio.h>
#define N 5
int main() {
int array[N] = { 15, 20, 25, 30, 35 };
int temp;
int i;
for (i = 0; i < N / 2; i++) {
temp = array[i];
array[i] = array[N - i - 1];
array[N - i - 1] = temp;
}
printf("\n");
for (i = 0; i < N; i++) {
printf("%d\t", *(array + i));
}
return 0;
}
```
这段代码中,我们首先定义了一个长度为5的整型数组array,并初始化了它的值。然后,我们使用一个for循环来遍历数组的前半部分,将前半部分的元素与后半部分的元素交换位置,从而实现了数组的倒序。最后,我们再次使用一个for循环来遍历数组,并输出倒序后的结果。
相关问题
c语言指针实现数组倒序
以下是两种C语言指针实现数组倒序的例子:
1.使用while循环和指针实现数组倒序
```c
void reverse_string(char* arr) {
int l = 0;
int r = strlen(arr) - 1;
while (l < r) {
char tmp = *(arr + l);
*(arr + l) = *(arr + r);
*(arr + r) = tmp;
l++;
r--;
}
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s\n", arr); // 输出:fedcba
return 0;
}
```
2.使用递归和指针实现数组倒序
```c
int Strlen(char* arr) {
int count = 0;
if (*arr != '\0') {
count++;
count += Strlen(arr + 1);
}
return count;
}
void reverse_string(char* arr) {
int sz = Strlen(arr);
char tmp = *arr;
*arr = *(arr + sz - 1);
*(arr + sz - 1) = '\0';
if (Strlen(arr + 1) >= 2) reverse_string(arr + 1);
*(arr + sz - 1) = tmp;
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s\n", arr); // 输出:fedcba
return 0;
}
```
c语言用数组倒序输出一组数
以下是C语言用数组倒序输出一组数的例子:
```c
#include <stdio.h>
#define N 10
int main() {
int a[N] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i, t;
printf("原始数组是:\n");
for (i = 0; i < N; i++) {
printf("%d ", a[i]);
}
printf("\n倒序输出数组:\n");
for (i = N - 1; i >= 0; i--) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
阅读全文