计算自然数和的 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;
}
访问此页面以了解如何使用递归求自然数之和。