Programme C pour vérifier le numéro Prime ou Armstrong à l'aide de la fonction définie par l'utilisateur

Dans cet exemple, vous apprendrez à vérifier si un entier est un nombre premier ou un Armstrong ou les deux en créant deux fonctions distinctes.

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:

  • C pour boucle
  • C while and do… while Loop
  • C pause et continuer
  • Fonctions C
  • Types de fonctions définies par l'utilisateur dans la programmation C

Dans ce programme, deux fonctions définies par l'utilisateur checkPrimeNumber()et checkArmstrongNumber()sont créées.

La checkPrimeNumber()fonction retourne 1si le nombre entré par l'utilisateur est un nombre premier. De même, la checkArmstrongNumber()fonction renvoie également 1si le nombre entré par l'utilisateur est un nombre Armstrong.

Consultez ces pages pour savoir si un nombre est

  • un nombre premier ou non
  • un numéro Armstrong ou non

Exemple: Vérifiez Prime et 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; )

Production

Entrez un entier positif: 407 407 n'est pas un nombre premier. 407 est un nombre Armstrong.

Articles intéressants...