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.

Deploy more with Linux VMs, S3-compatible object storage & global infrastructure. $100 in free credits.ADS VIA CARBON

To understand this example, you should have the knowledge of the following C programming topics:


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.

Visit these pages to learn to check whether a number is


Example: Check Prime and Armstrong

#include #include int checkPrimeNumber(int n); int checkArmstrongNumber(int n); int main() { int n, flag; printf("Enter a positive integer: "); scanf("%d", &n); // check prime number flag = checkPrimeNumber(n); 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 checkPrimeNumber(int n) { 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.