# C Program to Check Prime or Armstrong Number Using User-defined Function

#### In this example, you will learn to check whether an integer is a prime number or an Armstrong or both by creating two separate functions.

In this program, two user-defined functions `checkPrimeNumber()` and `checkArmstrongNumber()` are created.

The `checkPrimeNumber()` function returns `1` if the number entered by the user is a prime number. Similarly, `checkArmstrongNumber(``)` function also returns `1` if the number entered by the user is an Armstrong number.

## Example: Check Prime and Armstrong

``````
#include <math.h>
#include <stdio.h>

int checkArmstrongNumber(int n);

int main(){
int n, flag;
printf("Enter a positive integer: ");
scanf("%d", &n);

// check prime number
if (flag == 1)
printf("%d is a prime number.n", n);
else
printf("%d is not a prime number.n", n);

// check Armstrong number
flag = checkArmstrongNumber(n);
if (flag == 1)
printf("%d is an Armstrong number.", n);
else
printf("%d is not an Armstrong number.", n);
return 0;
}

// function to check prime number
int i, flag = 1, squareRoot;

// computing the square root
squareRoot = sqrt(n);
for (i = 2; i <= squareRoot; ++i) {
// condition for non-prime number
if (n % i == 0) {
flag = 0;
break;
}
}
return flag;
}

// function to check Armstrong number
int checkArmstrongNumber(int num){
int originalNum, remainder, n = 0, flag;
double result = 0.0;

// store the number of digits of num in n
for (originalNum = num; originalNum != 0; ++n) {
originalNum /= 10;
}

for (originalNum = num; originalNum != 0; originalNum /= 10) {
remainder = originalNum % 10;

// store the sum of the power of individual digits in result
result += pow(remainder, n);
}

// condition for Armstrong number
if (round(result) == num)
flag = 1;
else
flag = 0;
return flag;
}``````

Output

```Enter a positive integer: 407
407 is not a prime number.
407 is an Armstrong number.```

# Special 95% discount

## 2000+ Applied Machine Learning & Data Science Recipes

### Portfolio Projects for Aspiring Data Scientists: Tabular Text & Image Data Analytics as well as Time Series Forecasting in Python & R ```
Disclaimer: The information and code presented within this recipe/tutorial is only for educational and coaching purposes for beginners and developers. Anyone can practice and apply the recipe/tutorial presented here, but the reader is taking full responsibility for his/her actions. The author (content curator) of this recipe (code / program) has made every effort to ensure the accuracy of the information was correct at time of publication. The author (content curator) does not assume and hereby disclaims any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from accident, negligence, or any other cause. The information presented here could also be found in public knowledge domains.```