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.