将一个数组中的值按照逆序重新存储,并输出逆序序列。例如:原来的序列是:10,8,5,3,2,1;逆序序列为:1,2,3,5,8,10. 用C语言输出
时间: 2023-10-09 11:06:28 浏览: 60
下面是使用C语言实现将数组逆序存储并输出逆序序列的示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE];
int n;
printf("Enter the size of the array: ");
scanf("%d", &n);
printf("Enter the elements of the array:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// Reverse the array
for (int i = 0, j = n - 1; i < j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
printf("The reverse sequence is:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先要求用户输入数组的大小和元素,然后使用双指针法将数组逆序存储,并输出逆序序列。
相关问题
一个数组中的值按照逆序重新存储,并输出逆序序列。例如:原来的序列是:10,8,5,3,2,1;逆序序列为:1,2,3,5,8,10.
可以使用双指针的方法进行原地逆序存储,同时输出逆序序列。
具体实现如下:
```python
def reverse_array(arr):
# 定义左右指针
left, right = 0, len(arr) - 1
# 双指针交换元素位置
while left < right:
arr[left], arr[right] = arr[right], arr[left]
left += 1
right -= 1
# 输出逆序序列
print(arr)
```
使用示例:
```python
arr = [10, 8, 5, 3, 2, 1]
reverse_array(arr)
# 输出:[1, 2, 3, 5, 8, 10]
```
c语言一个数组中的值按照逆序重新存储,并输出逆序序列。例如:原来的序列是:10,8,5,3,2,1;逆序序列为:1,2,3,5,8,10.
可以使用双指针来实现该功能,具体实现如下:
```c
#include <stdio.h>
void reverse(int arr[], int len) {
int i, j, tmp;
for (i = 0, j = len - 1; i < j; i++, j--) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
int main() {
int arr[] = {10, 8, 5, 3, 2, 1};
int len = sizeof(arr) / sizeof(arr[0]);
// 输出原数组
printf("原数组为:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
// 逆序重新存储
reverse(arr, len);
// 输出逆序序列
printf("\n逆序序列为:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
原数组为:10 8 5 3 2 1
逆序序列为:1 2 3 5 8 10
```
阅读全文