c++for循环倒序
时间: 2024-09-12 13:00:30 浏览: 15
在C++中,可以使用for循环来实现数组或容器的倒序遍历。通常,这可以通过以下两种方式之一完成:
1. 使用标准的for循环,从后向前迭代索引:
```cpp
for(int i = array_size - 1; i >= 0; i--) {
// 访问array[i]
}
```
这里`array_size`是数组的大小或者容器的元素数量。循环从数组的最后一个元素开始,一直迭代到第一个元素。
2. 使用基于范围的for循环(C++11及以上版本),先复制容器,然后逆序迭代:
```cpp
for(auto it = array.rbegin(); it != array.rend(); ++it) {
// 访问*it
}
```
这里使用了`rbegin()`和`rend()`成员函数,分别返回容器的逆向迭代器,指向最后一个元素和容器开始的位置之前。通过逆向迭代器,可以直接访问容器中的元素,并且是逆序的。
以上两种方法都可以实现倒序遍历,但是它们的使用场景有所不同。标准的for循环比较通用,可以用于任何可以通过索引访问的容器。而基于范围的for循环则需要容器支持随机访问迭代器,并且在C++11之前的标准中不可用。
相关问题
c++ for循环有意思的代码
以下是一些有趣的C++ for循环代码:
1. 倒序输出数组元素:
```
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 4; i >= 0; i--) {
cout << arr[i] << " ";
}
```
2. 输出九九乘法表:
```
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
cout << j << "x" << i << "=" << i*j << " ";
}
cout << endl;
}
```
3. 输出斐波那契数列前n项:
```
int n = 10;
int a = 0, b = 1, c;
for (int i = 1; i <= n; i++) {
cout << a << " ";
c = a + b;
a = b;
b = c;
}
```
c++九九乘法表倒序
在 C++ 中,如果你想打印出九九乘法表的倒序形式,可以使用嵌套循环,并将乘积从大到小排列。以下是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
void printMultiplicationTableInReverseOrder(int rows) {
for (int i = rows; i >= 1; i--) {
for (int j = rows; j >= 1; j--) {
if (i == j || i * j == 1)
cout << i << " * " << j << " = " << 1 << "\t"; // 如果i等于j或结果为1,直接输出1
else
cout << i << " * " << j << " = " << i*j << "\t"; // 否则输出乘积
}
cout << endl; // 每行结束后换行
}
}
int main() {
int size = 9; // 九九乘法表,默认设置为9
printMultiplicationTableInReverseOrder(size);
return 0;
}
```
当你运行这个程序,它会按照9 * 8 = 72这样的顺序打印九九乘法表,然后逐步递减,直到1 * 1 = 1。