C Program for å sjekke Prime eller Armstrong Number ved hjelp av brukerdefinert funksjon

I dette eksemplet vil du lære å sjekke om et heltall er et primtall eller en Armstrong eller begge deler ved å opprette to separate funksjoner.

For å forstå dette eksemplet, bør du ha kunnskap om følgende C-programmeringsemner:

  • C for Loop
  • C mens og gjør … mens Loop
  • C bryte og fortsette
  • C Funksjoner
  • Typer brukerdefinerte funksjoner i C-programmering

I dette programmet, to brukerdefinerte funksjoner checkPrimeNumber()og checkArmstrongNumber()er opprettet.

Den checkPrimeNumber()funksjonen returnerer 1hvis brukeren har lagt inn nummeret er et primtall. Tilsvarende checkArmstrongNumber()returnerer funksjon også 1hvis nummeret som er angitt av brukeren, er et Armstrong-nummer.

Besøk disse sidene for å lære å sjekke om et nummer er

  • et primtall eller ikke
  • et Armstrong-nummer eller ikke

Eksempel: Sjekk Prime og 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; )

Produksjon

Skriv inn et positivt heltall: 407 407 er ikke et primtall. 407 er et Armstrong-nummer.

Interessante artikler...