用键盘上输入n(n<=20)个整数存入一维数组,用指针变量表示数组元素的方式将其逆序存放,然后输出。注意,实现该算法时不允许再定义数组。在c语言中
时间: 2024-02-12 17:06:05 浏览: 83
复习一维数组元素及其地址表示-二维数组与指针详解
下面是实现该算法的C语言代码:
```c
#include <stdio.h>
int main()
{
int n, *p, temp;
int a[20];
printf("请输入n(n<=20):");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
p = a; // 指针p指向a[0]
for (int i = 0; i < n / 2; i++) {
temp = *(p + i); // 交换a[i]和a[n-i-1]
*(p + i) = *(p + n - i - 1);
*(p + n - i - 1) = temp;
}
printf("逆序存放后的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", *(p + i));
}
return 0;
}
```
在这个程序中,我们使用了指针p来表示数组元素,而没有再定义一个数组。在逆序存放数组元素时,我们使用了指针的算术运算,即通过p+i来访问第i个元素。最后,我们再次使用指针p来输出逆序存放后的数组元素。
阅读全文