Write a function to print all Armstrong numbers between a given interval in C programming. How to print all Armstrong numbers between a given range using functions in C programming. C function to print all Armstrong numbers from 1 to n.

**Example**

**Input**

Input lower limit: 1 Input upper limit: 1000

**Output**

Armstrong numbers between 1 to 1000 are: 1, 153, 370, 371, 407,

## Required knowledge

Basic C programming, Function

Must know -

## Declare function to print all Armstrong numbers in given range

- First give a meaningful name to the function. Say printArmstrong() function prints all armstrong numbers in given range.
- Next the function prints armstrong number in given range. Hence, we must pass two integer parameters to the function, say printArmstrong(int start, int end);.
- Finally the function prints all armstrong numbers in given range returning nothing. Therefore, the return type of the function must be void.

The final function declaration to print all armstrong numbers in given range is - void printArmstrong(int start, int end);.

## Program to print Armstrong numbers using function

```
/**
* C program to print all armstrong numbers between a given range
*/
#include <stdio.h>
/* Function declarations */
int isArmstrong(int num);
void printArmstrong(int start, int end);
int main()
{
int start, end;
/* Input lower and upper limit to of armstrong numbers */
printf("Enter lower limit to print armstrong numbers: ");
scanf("%d", &start);
printf("Enter upper limit to print armstrong numbers: ");
scanf("%d", &end);
printf("All armstrong numbers between %d to %d are: \n", start, end);
printArmstrong(start, end);
return 0;
}
/**
* Check whether the given number is armstrong number or not.
* Returns 1 if the number is armstrong otherwise 0.
*/
int isArmstrong(int num)
{
int temp, lastDigit, sum;
temp = num;
sum = 0;
/* Calculate sum of cube of digits */
while(temp != 0)
{
lastDigit = temp % 10;
sum += lastDigit * lastDigit * lastDigit;
temp /= 10;
}
/*
* Check if sum of cube of digits equals
* to original number.
*/
if(num == sum)
return 1;
else
return 0;
}
/**
* Print all armstrong numbers between start and end.
*/
void printArmstrong(int start, int end)
{
/*
* Iterates from start to end and print the current number
* if it is armstrong
*/
while(start <= end)
{
if(isArmstrong(start))
{
printf("%d, ", start);
}
start++;
}
}
```

Output

Enter lower limit to print armstrong numbers: 1 Enter upper limit to print armstrong numbers: 1000 All armstrong numbers between 1 to 1000 are: 1, 153, 370, 371, 407,

Happy coding 😉

### Recommended posts

- Function and recursion programming exercise index.
- C program to find prime numbers in given range using function.
- C program to find strong numbers in given range using function.
- C program to find perfect numbers in given range using function.
- C program to check even number using function.
- C program to print all natural numbers in given range using recursion.

<pre><code> ----Your Source Code---- </code></pre>