【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;
}

相关推荐
二哈赛车手7 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
吃好睡好便好7 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
栗子~~7 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8297 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
仰泳之鹅8 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
未若君雅裁9 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记10 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI10 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务