The positive numbers 1, 2, 3... are known as natural numbers. The sum of natural numbers up to 10 is:
sum = 1 + 2 + 3 + ... + 10
Sum of Natural Numbers Using for Loop
#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;
}
The above program takes input from the user and stores it in the variable n. Then, for
loop is used to calculate the sum up to n.
Sum of Natural Numbers Using while Loop
#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;
}
Output
Enter a positive integer: 100 Sum = 5050
In both programs, the loop is iterated n number of times. And, in each iteration, the value of i is added to sum and i is incremented by 1
.
Though both programs are technically correct, it is better to use for
loop in this case. It's because the number of iterations is known.
The above programs don't work properly if the user enters a negative integer. Here is a little modification to the above program where we keep taking input from the user until a positive integer is entered.
Read Input Until a Positive Integer is Entered
#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;
}
Visit this page to learn how to find the sum of natural numbers using recursion.