求123.100 C语言编程如何实现?

99ANYc3cd6
预计阅读时长 4 分钟
位置: 首页 C语言 正文

方法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;
}

输出:

求123.100 c语言
(图片来源网络,侵删)
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较大时可能导致栈溢出,仅用于演示递归思想。

选择适合场景的方法即可!

求123.100 c语言
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
c语言external的讲解
« 上一篇 02-03
织梦后台怎么换logo
下一篇 » 02-03

相关文章

取消
微信二维码
支付宝二维码

目录[+]