【C++】for循环例题专题

for循环例题专题


一、语法

for 循环用于"已知大概循环次数"的重复任务。

基本语法:

cpp 复制代码
for (初始语句; 条件表达式; 变化语句) {
    循环体;
}

示例:输出 1 到 5

cpp 复制代码
for (int i = 1; i <= 5; i++) {
    cout << i << " ";
}

执行过程:

  1. 先执行 int i = 1(只执行一次);
  2. 判断 i <= 5,成立就进入循环体;
  3. 循环体执行后,执行 i++
  4. 再次判断条件,直到条件不成立。

初学者注意点

  1. 循环变量初始化、条件、步进要互相匹配。
  2. 小心边界:< n<= n 含义不同。
  3. 图形题常见规律是"第 i 行输出多少个字符"。

二、例题详解

例题1:数字直角三角形

题目描述

给出 n,输出一个直角边长度为 n 的数字直角三角形。

所有数字都按 2 位输出,不足 2 位前导补 0

输入格式

输入一个正整数 n

输出格式

按题意输出数字直角三角形。

数据范围

1 <= n <= 13

输入输出样例

输入:

text 复制代码
5

输出:

text 复制代码
0102030405
06070809
101112
1314
15

思路讲解

这题每一行输出的数字个数在减少:

  • 第 1 行输出 n 个;
  • 第 2 行输出 n-1 个;
  • ...

所以可以把"行号"作为 for 循环变量,设为 i

再用第二层循环控制每行输出数量。

同时用 idx 记录当前要输出的数字,并在每次输出后 idx++

参考代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int n;
int main() {
  cin >> n;
  int idx = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n - i; j++) {
      if (idx < 10) {
        cout << '0' << idx;
      } else {
        cout << idx;
      }
      idx++;
    }
    cout << endl;
  }
  return 0;
}

例题2:数列求和

题目描述

给定一个正整数 n,求 1+2+3+...+n 的值。

输入格式

输入一个正整数 n

输出格式

输出一个整数,表示 1n 的和。

输入输出样例

输入:

text 复制代码
100

输出:

text 复制代码
5050

思路讲解

这题是 for 的标准入门题。

定义累加变量 s=0,然后让循环变量 i1 走到 n,每次把 i 加到 s 里:

  • 第 1 轮:s += 1
  • 第 2 轮:s += 2
  • ...
  • 第 n 轮:s += n

循环结束后输出 s 即可。

参考代码

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;
  cin >> n;
  int s = 0;
  for (int i = 1; i <= n; i++) {
    s += i;
  }
  cout << s;
  return 0;
}

相关推荐
rannn_1115 小时前
【力扣hot100】链表专题|160、206、234、141、142
java·算法·leetcode·链表·面试·开发
数模竞赛Paid answer5 小时前
2026年华东杯数学建模B题医药物流安排问题解题全过程文档及程序
算法·数学建模·数据分析·华东杯
不会代码的小猴6 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
青瓦梦滋6 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
IKUN家族6 小时前
Spring IoC&DI
java·spring·rpc
AI备案指南-满满6 小时前
大模型与算法备案全流程详解:从零到通过的完整指南
人工智能·算法·备案·大模型备案·算法备案
江畔柳前堤6 小时前
LLM 训练核心机制深度解析:Warmup、Cosine Decay 与 Perplexity 的完整知识体系
网络·人工智能·深度学习·算法·机器学习·语音识别
一只旭宝7 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法
良木林7 小时前
子串 - LeetCode hot 100
算法·leetcode·职场和发展