C Program to Print Natural Numbers in Reverse from n to 1

In this tutorial, you will learn how to print the natural numbers in reverse order from n to 1 and also between the range of two numbers in C. You need to have the knowledge of the following in C.


C Program to Print Natural Numbers in Reverse from n to 1 using loop

The program below is done with help of for loop but you can do the same with the help of while loop too.

#include <stdio.h>

int main()
{
  int num, i;

  printf("Enter the upper value: ");
  scanf("%d", &num);

  printf("Natural Numbers ranging between %d to 1 are: \n", num);
  for (i = num; i >= 1; i--)
  {
    printf("%d ", i);
  }

  return 0;
}

Output:

Enter the upper value: 10
Natural Numbers ranging between 10 to 1 are:
10 9 8 7 6 5 4 3 2 1

You can do the same with a while loop just replace the for statement with the following code. Remember to assign the num to i after taking the input as shown below.

i = num;
while (i >= 1)
{
  printf("%d ", i);;
  i--;
}

C Program to return Natural Numbers in reverse within a Range

#include <stdio.h>

int main()
{
  int numStart, numEnd, i;

  printf("Enter the upper value: ");
  scanf("%d", &numStart);
  printf("Enter the lower value: ");
  scanf("%d", &numEnd);

  i = numStart;

  printf("Natural Numbers ranging between %d to %d are: \n", numStart, numEnd);
  while (i >= numEnd)
  {
    printf("%d ", i);;
    i--;
  }

  return 0;
}

Output:

Enter the upper value: 10
Enter the lower value: 4
Natural Numbers ranging between 10 to 4 are:
10 9 8 7 6 5 4

Also, you can replace the while loop with for loop as shown in the first example above.