方法1:使用for循环
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("1到100的和为: %d\n", sum);
return 0;
}
输出:

(图片来源网络,侵删)
1到100的和为: 5050
方法2:使用while循环
#include <stdio.h>
int main() {
int sum = 0, i = 1;
while (i <= 100) {
sum += i;
i++;
}
printf("1到100的和为: %d\n", sum);
return 0;
}
方法3:使用数学公式(高斯求和)
利用等差数列求和公式:
和 = (首项 + 末项) × 项数 / 2
即:sum = (1 + 100) * 100 / 2 = 5050
#include <stdio.h>
int main() {
int sum = (1 + 100) * 100 / 2;
printf("1到100的和为: %d\n", sum);
return 0;
}
方法4:递归实现(不推荐,效率低)
#include <stdio.h>
int sumRecursive(int n) {
if (n == 1) return 1;
return n + sumRecursive(n - 1);
}
int main() {
printf("1到100的和为: %d\n", sumRecursive(100));
return 0;
}
- 推荐方法:使用 for循环 或 数学公式,前者直观,后者效率最高(O(1)时间复杂度)。
- 注意事项:
- 若范围更大(如1到1,000,000),数学公式能避免循环的效率问题。
- 递归方法在n较大时可能导致栈溢出,仅用于演示递归思想。
选择适合场景的方法即可!

(图片来源网络,侵删)
