C Program pentru a verifica numărul Prime sau Armstrong folosind funcția definită de utilizator

În acest exemplu, veți învăța să verificați dacă un număr întreg este un număr prim sau un Armstrong sau ambele prin crearea a două funcții separate.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:

  • C pentru Loop
  • C while și do … while Buclă
  • C rupe și continuă
  • Funcții C
  • Tipuri de funcții definite de utilizator în programarea C.

În acest program, două funcții definite de utilizator checkPrimeNumber()și checkArmstrongNumber()sunt create.

În checkPrimeNumber()Funcția returnează 1dacă numărul introdus de utilizator este un număr prim. În mod similar, checkArmstrongNumber()funcția revine și 1dacă numărul introdus de utilizator este un număr Armstrong.

Accesați aceste pagini pentru a afla dacă este un număr

  • un număr prim sau nu
  • un număr Armstrong sau nu

Exemplu: Verificați Prime și 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; )

Ieșire

Introduceți un număr întreg pozitiv: 407 407 nu este un număr prim. 407 este un număr Armstrong.

Articole interesante...