通过指针变量p输入已排好序的整型数组a的10个元素,然后将数组元素的值按逆序重新排列,最后再利用p输出a的10个元素
时间: 2024-01-24 09:18:37 浏览: 59
以下是实现代码:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 已排好序的数组
int *p = a; // 指向数组的指针变量
int i, temp;
// 输出原始数组
printf("原始数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", *(p + i));
}
printf("\n");
// 将数组元素按逆序重新排列
for (i = 0; i < 5; i++) {
temp = *(p + i);
*(p + i) = *(p + 9 - i);
*(p + 9 - i) = temp;
}
// 输出逆序重新排列后的数组
printf("逆序重新排列后的数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", *(p + i));
}
printf("\n");
return 0;
}
```
输出结果:
```
原始数组:
1 2 3 4 5 6 7 8 9 10
逆序重新排列后的数组:
10 9 8 7 6 5 4 3 2 1
```
相关问题
用指针变量指向数组元素的方法将一个整型数组a中的10个元素逆序输出,要求从键盘输入10个整数,数据输入、输出均用指针操作
下面是代码实现:
```c
#include <stdio.h>
int main() {
int a[10], *p = a + 9;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
printf("逆序输出为:\n");
while (p >= a) {
printf("%d ", *p);
p--;
}
return 0;
}
```
首先定义一个整型数组 `a`,同时将指针变量 `p` 指向数组的最后一个元素。
接着通过循环从键盘输入10个整数,并将其存储到数组 `a` 中。
最后通过循环输出数组的元素,由于指针变量 `p` 指向数组最后一个元素,因此将指针变量 `p` 递减即可实现逆序输出。
模仿c语言初学者,用指针变量指向数组元素的方法将一个整型数组a中的10个元素逆序输出,要求从键盘输入10个整数,数据输入、输出均用指针操作
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
int a[10];
int *p = a + 9; // 指针p指向数组a的最后一个元素
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]); // 从键盘输入10个整数
}
printf("逆序输出:\n");
while (p >= a) { // 从后往前遍历数组a
printf("%d ", *p); // 输出当前指针所指向的元素
p--; // 指针p向前移动一位
}
return 0;
}
```
运行结果如下:
```
请输入10个整数:
1 2 3 4 5 6 7 8 9 10
逆序输出:
10 9 8 7 6 5 4 3 2 1
```
阅读全文