c语言编写函数,功能是将a数组中的内容逆序存放
时间: 2024-05-01 21:16:06 浏览: 25
下面是一个示例代码,可以将一个整型数组中的元素逆序存放:
```c
void reverseArray(int a[], int n){
int i, j, temp;
for(i=0, j=n-1; i<j; i++, j--){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
```
在这个函数中,使用了两个指针 i 和 j,分别指向数组的起始位置和结尾位置。在循环中,不断交换 i 和 j 指向的元素,直到 i>=j 为止。这样就能够实现将数组逆序存放的功能。
相关问题
C语言编写函数fun将一个数组中的值按逆序存放,并在mainO函数中输出。
可以使用指针来实现数组中值的逆序存放,具体实现如下:
```
#include <stdio.h>
void fun(int arr[], int len) {
int *p1, *p2, temp;
p1 = arr; // 指向数组第一个元素的指针
p2 = arr + len - 1; // 指向数组最后一个元素的指针
while (p1 < p2) { // 反转数组
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printf("Original array:\n");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
fun(arr, len);
printf("Reversed array:\n");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
Original array:
1 2 3 4 5
Reversed array:
5 4 3 2 1
```
c语言编写一个函数 Inverse0,实现将字符数组中的字符串逆序存放的功能。用数组a存放逆序存放前的数组元素,用数组b存放逆序存放后的数组元素。
好的,以下是C语言实现的代码:
```c
void Inverse0(char* str) {
char a[1000], b[1000];
int len = strlen(str);
for (int i = 0; i < len; i++) {
a[i] = str[i];
}
for (int i = 0; i < len; i++) {
b[i] = a[len - i - 1];
}
for (int i = 0; i < len; i++) {
str[i] = b[i];
}
}
```
以上代码中,我们先将原始字符串按照顺序存储到数组a中,然后再将数组a中的元素按照相反的顺序存储到数组b中,最后再将数组b中的元素按照顺序存储回原始字符串中,即可实现字符串逆序存放的功能。
请注意,由于我们使用了数组a和数组b,因此需要定义一个足够大的数组来存储字符串,以上代码中我们定义了大小为1000的数组。如果您的字符串比较长,可能需要调整数组的大小。