In this example, you will learn to calculate the sum of natural numbers entered by the user.

To understand this example, you should have the knowledge of the following C programming topics:

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

```
#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`.

```
#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.

```
#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.