C语言计算自然数之和的程序

要理解这个示例,您应该了解以下 C 编程 主题


正数 1, 2, 3... 被称为自然数。10以内的自然数之和为

sum = 1 + 2 + 3 + ... + 10

使用for循环计算自然数之和

#include <stdio.h>
int main() {
    int n, i, sum = 0;

    printf("Enter a positive integer: ");
    scanf("%d", &n);

    for (i = 1; i <= n; ++i) {
        sum += i;
    }

    printf("Sum = %d", sum);
    return 0;
}

以上程序从用户那里获取输入并将其存储在变量 n 中。然后,使用 for 循环计算直到 n 的和。


使用while循环计算自然数之和

#include <stdio.h>
int main() {
    int n, i, sum = 0;
    printf("Enter a positive integer: ");
    scanf("%d", &n);
    i = 1;

    while (i <= n) {
        sum += i;
        ++i;
    }

    printf("Sum = %d", sum);
    return 0;
}

输出

Enter a positive integer: 100
Sum = 5050

在这两个程序中,循环都迭代了 n 次。并且,在每次迭代中,i 的值被加到 sum 中,i 增加 1

虽然这两个程序在技术上都是正确的,但在此情况下最好使用 for 循环。因为迭代次数是已知的。

如果用户输入的整数是负数,以上程序将无法正常工作。这里对上述程序进行了一些修改,我们不断从用户那里获取输入,直到输入一个正整数。


读取输入直到输入正整数

#include <stdio.h>
int main() {
    int n, i, sum = 0;

    do {
        printf("Enter a positive integer: ");
        scanf("%d", &n);
    } while (n <= 0);

    for (i = 1; i <= n; ++i) {
        sum += i;
    }

    printf("Sum = %d", sum);
    return 0;
}

访问此页面了解 如何使用递归查找自然数之和

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战