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

**Example**

**Input**

Input lower limit: 1 Input upper limit: 1000

**Output**

Strong numbers between 1 to 100: 1, 2, 145

## Required knowledge

Basic C programming, If else, While loop, Nested while loop, Functions

Must know – Program to check strong number.

## Declare function to find all strong numbers in given range

- First give a meaningful name to our function, say
`printStrongNumbers()`

. Along with this we must define function to find factorial of a number, say`long long fact(int num);`

. - Next we need to print strong numbers in range. Therefore, the function must accept two integer parameters
`start`and`end`limit of strong numbers. - Finally the function simply prints strong numbers in range and returns nothing.

After looking on above points function declaration to print strong numbers in range is – void printStrongNumbers(int start, int end);.

## Program to print strong numbers in given interval

```
/**
* C program to print strong numbers in a given interval using functions
*/
#include <stdio.h>
/* Function declaration */
long long fact(int num);
void printStrongNumbers(int start, int end);
int main()
{
int start, end;
/* Input start and end range */
printf("Enter the lower limit to find strong number: ");
scanf("%d", &start);
printf("Enter the upper limit to find strong number: ");
scanf("%d", &end);
printf("All strong numbers between %d to %d are: \n", start, end);
printStrongNumbers(start, end);
return 0;
}
/**
* Print all strong numbers in a given range
*/
void printStrongNumbers(int start, int end)
{
long long sum;
int num;
// Iterates from start to end
while(start != end)
{
sum = 0;
num = start;
// Calculate sum of factorial of digits
while(num != 0)
{
sum += fact(num % 10);
num /= 10;
}
// If sum of factorial of digits equal to current number
if(start == sum)
{
printf("%d, ", start);
}
start++;
}
}
/**
* Recursively find factorial of any number
*/
long long fact(int num)
{
if(num == 0)
return 1;
else
return (num * fact(num-1));
}
```

In the above program I have used recursive approach to find factorial. However, you can also use simple iterative approach to find factorial of a number.

Output

Enter the lower limit to find strong number: 1 Enter the upper limit to find strong number: 100000 All strong numbers between 1 to 100000 are: 1, 2, 145, 40585,

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 armstrong 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.