Q:

# Write C program to check prime and armstrong numbers using function

I have used Code::blocks 12 compiler for debugging purpose. But you can use any C programming language compiler as per your availability.

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

int checkArmstrongNumber(int n);

int main()
{
int num, flag;

printf("Enter a positive integer: ");
scanf("%d", &num);

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

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

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

for(i=2; i<=num/2; ++i)
{

// condition for non-prime number
if(num%i == 0)
{
flag = 0;
break;
}
}
return flag;
}

//function to check Armstrong Number
int checkArmstrongNumber(int number)
{
int originalNumber, remainder, result = 0, num = 0, flag;

originalNumber = number;

while (originalNumber != 0)
{
originalNumber /= 10;
++num;
}

originalNumber = number;

while (originalNumber != 0)
{
remainder = originalNumber%10;
result += pow(remainder, num);
originalNumber /= 10;
}

// condition for Armstrong number
if(result == number)
flag = 1;
else
flag = 0;

return flag;
}``````

Result:

Enter a positive integer: 371

371 is not a prime number.

371 is an Armstrong number.