C Programa para verificar el número Prime o Armstrong usando una función definida por el usuario

En este ejemplo, aprenderá a verificar si un entero es un número primo o un Armstrong o ambos creando dos funciones separadas.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • C para bucle
  • C while y do… while Loop
  • C romper y continuar
  • Funciones C
  • Tipos de funciones definidas por el usuario en la programación en C

En este programa, se crean dos funciones definidas por el usuario checkPrimeNumber()y checkArmstrongNumber().

La checkPrimeNumber()función regresa 1si el número ingresado por el usuario es un número primo. De manera similar, la checkArmstrongNumber()función también regresa 1si el número ingresado por el usuario es un número Armstrong.

Visite estas páginas para aprender a comprobar si un número es

  • un número primo o no
  • un número Armstrong o no

Ejemplo: Check Prime y 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); else printf("%d is not a prime number.", 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; )

Salida

Ingrese un número entero positivo: 407 407 no es un número primo. 407 es un número de Armstrong.

Articulos interesantes...