C Program za provjeru osnovnog ili Armstrongova broja pomoću korisnički definirane funkcije

U ovom ćete primjeru naučiti provjeriti je li cijeli broj prost broj ili Armstrong ili oboje stvaranjem dvije odvojene funkcije.

Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:

  • C za Loop
  • C dok i ne … dok Loop
  • C razbiti i nastaviti
  • C Funkcije
  • Vrste korisnički definiranih funkcija u C programiranju

U ovom su programu izrađene dvije korisnički definirane funkcije checkPrimeNumber()i checkArmstrongNumber().

Na checkPrimeNumber()funkcija vraća 1ako je broj unio korisnik je prost broj. Slično tome, checkArmstrongNumber()funkcija se također vraća 1ako je broj koji je korisnik unio Armstrongov broj.

Posjetite ove stranice da biste naučili provjeriti je li neki broj

  • prost broj ili ne
  • Armstrongov broj ili ne

Primjer: Provjerite Prime i Armstronga

 #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; )

Izlaz

Unesite pozitivan cijeli broj: 407 407 nije prost broj. 407 je Armstrongov broj.

Zanimljivi članci...