To compute the sum of natural numbers from 1 to n (entered by the user), loops can be used. You will learn how to use for loop and while loop to solve this problem.

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

The positive numbers 1, 2, 3... are known as natural numbers. The programs below takes a positive integer (let say `n`) as an input from the user and calculates the sum up to `n`.

```
#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; // sum = sum+i;
}
printf("Sum = %d",sum);
return 0;
}
```

The above program takes the input from the user and stores in variable `n`. Then, for loop is used to calculate the sum upto the given number.

```
#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 iteration is known.

The above programs doesn't work properly if the user enters a negative integer. Here's a little modification of the above program to take input from the user until 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; // sum = sum+i;
}
printf("Sum = %d",sum);
return 0;
}
```

Visit this page to learn how to find the sum of natural number using recursion.