0

0

C++怎么从1加到100 C++循环累加与高斯求和公式代码【入门】

尼克

尼克

发布时间:2026-01-24 12:47:02

|

966人浏览过

|

来源于php中文网

原创

最直接新手写法是int sum = 0; for (int i = 1; i

c++怎么从1加到100 c++循环累加与高斯求和公式代码【入门】

用 for 循环从 1 加到 100 最直接

新手最常写的写法,逻辑清晰、易理解,适合练习循环结构。注意 i 的起始值和终止条件别写反:

int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}
// sum == 5050
  • i 是关键,写成 i 就只加到 99
  • 变量 sum 必须初始化为 0,否则值是未定义的(常见坑)
  • 类型用 int 足够(5050 在 int 范围内),但若扩展到 1~1000000,建议用 long long

while 循环实现等价逻辑

for 本质一样,只是把初始化、判断、更新拆开了,更适合理解循环三要素:

int sum = 0, i = 1;
while (i <= 100) {
    sum += i;
    i++;
}
  • 漏掉 i++ 会导致死循环——这是初学者高频错误
  • i++ 写在 sum += i 前面会变成从 2 加到 101,结果错 100
  • 这种写法在需要动态控制步长(比如每次加 2)时更灵活

用高斯公式直接算:1 + 2 + … + n = n × (n + 1) / 2

不需要循环,O(1) 时间出结果,但要注意整数除法和溢出:

int n = 100;
int sum = n * (n + 1) / 2; // 5050
  • 公式本身是数学恒等式,但 C++ 中 n * (n + 1) 可能先溢出再除——比如 n = 50000int 就不够了
  • 安全写法是强制转成更大类型:long long sum = 1LL * n * (n + 1) / 2
  • 除法顺序不能换:n / 2 * (n + 1)n 为奇数时会丢精度(整数截断)

cin 输入 n 后通用求和,兼顾健壮性

真正实用的代码得处理用户输入,不是硬编码 100:

ReRoom AI
ReRoom AI

专为室内设计打造的AI渲染工具,可以将模型图、平面图、草图、照片转换为高质量设计效果图。

下载

立即学习C++免费学习笔记(深入)”;

int n;
std::cin >> n;
if (n < 1) {
    std::cout << 0 << std::endl;
    return 0;
}
long long sum = 1LL * n * (n + 1) / 2;
  • 必须检查 n ,否则公式或循环都会出错(比如 n = 0 时循环不执行但公式仍算 0)
  • long long 避免大数溢出,比循环累加更可靠
  • 如果题目明确要求“必须用循环”,那就老实用 for,别偷偷换公式——考试/作业场景里这点容易被扣分

实际项目里,小范围累加用循环没问题;大范围或频繁调用,优先公式。但最容易被忽略的是:输入校验和整数溢出边界——它们不报错,但结果离谱。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

358

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

542

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

53

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

197

2025.08.29

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 7.4万人学习

C 教程
C 教程

共75课时 | 4.2万人学习

C++教程
C++教程

共115课时 | 13.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号