计算自然数和的 C 程序

在本文中,您将学习使用 C 语言计算用户输入的 n 之内所有自然数之和。

要理解此示例,您应该具备以下 C 语言编程主题的知识:

正数 1, 2, 3… 被称为自然数。

使用 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 之内的所有自然数的总和,并存储在变量 sum 中。

使用 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 中,并增加 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;
}

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