c++将数组中的元素逆序输出
时间: 2024-05-01 19:16:08 浏览: 78
可以使用两个指针分别指向数组的首尾元素,然后交换它们的值,直到两个指针相遇为止。下面是示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
// 反转数组
for (int i = 0, j = n - 1; i < j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
// 输出反转后的数组
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
5 4 3 2 1
```
相关问题
请定义一个浮点类型的数组动态指定数组的长度与数组元素将数组元素逆序输出并求出所有数组元素的的和输出
在编程中,你可以通过以下步骤定义一个浮点型数组,并动态指定长度,逆序输出元素,以及计算元素总和:
1. **定义数组**:
使用动态数组(如Java的ArrayList或C++中的`std::vector`),因为它们允许你在运行时改变大小。例如,在Java中:
```java
float[] floatArray = new ArrayList<Float>();
```
或在C++中:
```cpp
std::vector<float> floatArray;
```
2. **动态添加元素**:
可以通过循环或用户输入等方式增加元素,例如:
```java
for (int i = 0; i < desiredLength; i++) {
floatArray.add(new Float(input));
}
```
在C++中:
```cpp
for (size_t i = 0; i < desiredLength; i++) {
floatArray.push_back(input);
}
```
3. **逆序输出数组**:
对于Java,可以使用`Collections.reverse()`函数:
```java
Collections.reverse(floatArray);
```
对于C++,直接操作`std::vector`的迭代器:
```cpp
std::reverse(floatArray.begin(), floatArray.end());
```
4. **计算元素总和**:
Java中遍历数组并累加:
```java
float sum = 0.0f;
for (Float num : floatArray) {
sum += num;
}
```
C++同样遍历:
```cpp
float sum = 0.0f;
for (const auto& num : floatArray) {
sum += num;
}
```
用c++编写,从键盘输入n个整数(n<100), 存放在一 个一维数组中,逆序输出能被3整除的元素并逆序输出数 换字体 组下标为3的倍数的元素。
好的,不会透露您的要求,也不会重复您所说的话。
以下是您的问题对应的 C 代码:
```c
#include <stdio.h>
int main() {
int n, arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for (int i = n - 1; i >= 0; i--) {
if (arr[i] % 3 == 0) {
printf("%d ", arr[i]);
}
}
printf("\n");
for (int i = n - 1; i >= 0; i--) {
if (i % 3 == 0) {
printf("%d ", arr[i]);
}
}
return 0;
}
```
以上代码实现了从键盘输入 n 个整数( n 小于 100 ),并把它们存储到一维数组中。然后,对数组进行两次遍历,第一次逆序输出能被 3 整除的元素,第二次逆序输出下标为 3 的倍数的元素。
希望以上代码能够回答您的问题。
阅读全文