C Programm zum Überprüfen der Prime- oder Armstrong-Nummer mithilfe einer benutzerdefinierten Funktion

In diesem Beispiel lernen Sie zu überprüfen, ob eine Ganzzahl eine Primzahl oder ein Armstrong oder beides ist, indem Sie zwei separate Funktionen erstellen.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:

  • C für Schleife
  • C während und mach … während Schleife
  • C brechen und fortfahren
  • C Funktionen
  • Arten von benutzerdefinierten Funktionen in der C-Programmierung

In diesem Programm werden zwei benutzerdefinierte Funktionen checkPrimeNumber()und checkArmstrongNumber()erstellt werden .

Die checkPrimeNumber()Funktion wird zurückgegeben, 1wenn die vom Benutzer eingegebene Nummer eine Primzahl ist. In ähnlicher Weise wird die checkArmstrongNumber()Funktion auch zurückgegeben, 1wenn die vom Benutzer eingegebene Nummer eine Armstrong-Nummer ist.

Besuchen Sie diese Seiten, um zu erfahren, ob eine Nummer vorhanden ist

  • eine Primzahl oder nicht
  • eine Armstrong-Nummer oder nicht

Beispiel: Überprüfen Sie Prime und 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; )

Ausgabe

Geben Sie eine positive Ganzzahl ein: 407 407 ist keine Primzahl. 407 ist eine Armstrong-Nummer.

Interessante Beiträge...