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:
C for Loop
C while and
do...while Loop
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
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.