通过指针变量p输入已排好序的整型数组a的10个元素,然后将数组元素的值按逆序重新排列,最后再利用p输出a的10个元素
时间: 2024-01-24 07:18:37 浏览: 62
以下是实现代码:
```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
```
相关问题
C语言通过指针变量逆序排放整型数组a的10个元素。
在C语言中,可以使用两个指针,一个指向数组的起始位置,另一个指向结束位置(即倒数第二个元素),然后交换这两个指针所指向的元素,每次移动其中一个指针到下一个位置,直到两个指针相遇。以下是简单的步骤:
```c
#include <stdio.h>
void reverse_array(int *arr, int size) {
// 初始化两个指针,一个指向数组开始,一个指向倒数第二个元素
int *start = arr;
int *end = arr + size - 1;
// 当start小于等于end时继续交换
while (start < end) {
// 交换两个指针所指元素
int temp = *start;
*start = *end;
*end = temp;
// 移动指针
start++;
end--;
}
}
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 示例数组
printf("Original array: ");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
reverse_array(a, sizeof(a)/sizeof(a[0])); // 逆序数组
printf("\nReversed array: ");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
在这个程序中,`reverse_array`函数会将数组`a`的内容逆序。运行`main`函数可以看到原始数组和逆序后的结果。
使用C语言,通过指针变量逆序排放整型数组a的10个元素
在C语言中,你可以通过指针操作来逆序排放整型数组。下面是一个简单的示例,假设有一个名为`array`的数组,包含10个整数:
```c
#include <stdio.h>
void reverse_array(int* arr, int n) {
int start = 0;
int end = n - 1;
while (start < end) {
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 假设这是一个有10个元素的数组
int size = sizeof(a) / sizeof(a[0]);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", a[i]);
}
reverse_array(a, size); // 调用函数逆序数组
printf("\nReversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
在这个例子中,`reverse_array`函数接受一个指向数组首元素的指针`arr`和数组的大小`n`作为参数。它通过两个指针`start`和`end`从两端向中间遍历并交换元素来实现数组的逆序。
阅读全文