1.用自己学号每一位作为一个整型数组的元素,编写一个reverseArray函数,用指针实现逆序存放,主函数中输出c++
时间: 2024-02-06 10:11:01 浏览: 96
好的,我理解你的问题了。以下是代码实现:
```c++
#include <iostream>
using namespace std;
void reverseArray(int* arr, int size) {
int* start = arr; // 定义指向数组首元素的指针
int* end = arr + size - 1; // 定义指向数组末尾元素的指针
while (start < end) {
// 交换首尾元素
int temp = *start;
*start = *end;
*end = temp;
// 指针向中间移动
start++;
end--;
}
}
int main() {
int arr[] = {2, 0, 1, 9, 1, 0, 5, 2, 0, 1};
int size = sizeof(arr) / sizeof(arr[0]);
reverseArray(arr, size);
for (int i = 0; i < size; i++) {
cout << arr[i];
}
return 0;
}
```
输出结果为:
```
1092015020
```
这是将学号 `201910520` 的每一位逆序存放后的结果。
相关问题
编写函数,将数组元素逆序。编写主函数,定义数组,使用前面编写的函数输入数组元素,调用本题函数逆序数组元素,调用前面编写的输出数组的函数输出。设数组元素为整数,不超过100个。
以下是实现该函数的代码:
```c
#include <stdio.h>
void reverseArray(int arr[], int len) {
int i, temp;
for (i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
void printArray(int arr[], int len) {
int i;
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[100], n, i;
printf("Enter the number of elements in the array: ");
scanf("%d", &n);
printf("Enter the elements of the array:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("Original array: ");
printArray(arr, n);
reverseArray(arr, n);
printf("Reversed array: ");
printArray(arr, n);
return 0;
}
```
我们首先定义了一个 `reverseArray` 函数,它接受一个整型数组和数组长度作为参数。该函数将数组元素逆序排列。具体来说,它遍历数组前一半的元素,将每个元素与对应的后一半元素交换位置。
然后我们定义了一个 `printArray` 函数,它接受一个整型数组和数组长度作为参数。该函数将数组元素输出到控制台上。
在主函数中,我们首先读取用户输入的数组长度和数组元素。然后输出原始数组,调用 `reverseArray` 函数逆序排列数组元素,最后再次输出数组元素。
编写一个函数C程序实现将整型数组中的元素逆序存放,在屏幕中显示逆序后的数组内(用指针编程)。
好的,下面是实现这个功能的 C 代码:
```c
#include <stdio.h>
void reverseArray(int *arr, int size) {
int *start = arr; // 指向数组首元素的指针
int *end = arr + size - 1; // 指向数组尾元素的指针
while (start < end) { // 循环交换元素
int temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverseArray(arr, size);
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先定义了一个 `reverseArray` 函数,它接受一个整型数组和数组大小作为参数,将数组中的元素逆序存放。具体实现是使用两个指针 `start` 和 `end` 分别指向数组的首元素和尾元素,然后交换它们指向的元素,循环直到 `start` 指针超过 `end` 指针。
在 `main` 函数中,我们定义了一个测试数组 `arr`,然后调用 `reverseArray` 函数将它逆序存放。最后,我们打印出逆序后的数组,程序输出如下:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```
希望这个程序对你有帮助!
阅读全文