用指针实现将一个含有10个数的数组逆序存放。
时间: 2024-06-13 13:09:20 浏览: 136
以下是用指针实现将一个含有10个数的数组逆序存放的C语言代码:
```c
#include <stdio.h>
void store(int *b, int x) {
int *i, *j, *p, t, m;
m = (x - 1) / 2;
i = b;
j = b + x - 1;
p = b + m;
for (; i <= p; i++, j--) {
t = *i;
*i = *j;
*j = t;
}
}
int main() {
int i, n;
int a[10];
printf("请输入需要储存数的个数:");
scanf("%d", &n);
printf("\n请存入%d个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
store(a, n);
printf("\n逆序存放为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
相关问题
将一个含有n个元素的一维数组逆序存放
将一个含有n个元素的一维数组逆序存放的方法是:从数组的两端开始,依次交换对应位置的元素,直到中间位置。具体步骤如下:
1. 定义两个指针,一个指向数组的第一个元素,另一个指向数组的最后一个元素。
2. 交换两个指针所指向的元素,并将指针向中间移动一位。
3. 重复步骤2,直到两个指针相遇。
4. 数组逆序存放完成。
例如,对于一个含有5个元素的数组arr,初始状态为[1, 2, 3, 4, 5],按照上述方法逆序存放后,数组变为[5, 4, 3, 2, 1]。
采用指针法实现字符数组逆序存放
可以通过指针法来实现字符数组逆序存放,具体步骤如下:
1. 定义一个字符数组并赋值;
2. 定义两个指针,分别指向数组的首尾位置;
3. 使用循环将指针交换位置,直到两个指针相遇为止;
4. 输出逆序后的字符数组。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
char *p1, *p2;
p1 = str;
p2 = str + strlen(str) - 1;
while (p1 < p2) {
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出结果为:
```
Original string: hello world
Reversed string: dlrow olleh
```
阅读全文