C Ohjelma Prime- tai Armstrong-numeron tarkistamiseksi käyttäjän määrittämällä toiminnolla

Tässä esimerkissä opit tarkistamaan, onko kokonaisluku alkuluku vai Armstrong vai molemmat luomalla kaksi erillistä toimintoa.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:

  • C silmukalle
  • C kun ja tee … silmukan aikana
  • C tauko ja jatka
  • C Toiminnot
  • Käyttäjän määrittelemien toimintojen tyypit C-ohjelmoinnissa

Tässä ohjelmassa kahden käyttäjän määrittämiä funktioita checkPrimeNumber()ja checkArmstrongNumber()luodaan.

checkPrimeNumber()Funktio palauttaa 1jos numero syötetään käyttäjän on alkuluku. Vastaavasti checkArmstrongNumber()toiminto palaa myös, 1jos käyttäjän kirjoittama numero on Armstrongin numero.

Käy näillä sivuilla oppiaksesi tarkistamaan, onko numero oikea

  • alkuluku vai ei
  • Armstrong-numero vai ei

Esimerkki: Tarkista Prime ja 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; )

Tuotos

Anna positiivinen kokonaisluku: 407 407 ei ole alkuluku. 407 on Armstrongin numero.

Mielenkiintoisia artikkeleita...