C Programma, lai pārbaudītu Prime vai Armstrong numuru, izmantojot lietotāja definētu funkciju

Šajā piemērā jūs iemācīsities pārbaudīt, vai vesels skaitlis ir galvenais skaitlis, Ārmstrongs vai abi, izveidojot divas atsevišķas funkcijas.

Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:

  • C cilnei
  • C kamēr un dari … kamēr Loop
  • C pārtraukums un turpinājums
  • C funkcijas
  • Lietotāja noteikto funkciju veidi C programmēšanā

Ar šo programmu, divu lietotāja definētu funkciju checkPrimeNumber()un checkArmstrongNumber()tiek izveidots.

Par checkPrimeNumber()funkcija atgriež 1, ja numurs nav ievadīts lietotājs ir galvenais numurs. Līdzīgi checkArmstrongNumber()funkcija atgriežas arī 1tad, ja lietotāja ievadītais skaitlis ir Ārmstronga skaitlis.

Apmeklējiet šīs lapas, lai uzzinātu, vai skaitlis ir

  • galvenais skaitlis vai nē
  • Ārmstronga numurs vai nē

Piemērs: pārbaudiet Prime un 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; )

Rezultāts

Ievadiet pozitīvu veselu skaitli: 407 407 nav galvenais skaitlis. 407 ir Ārmstronga numurs.

Interesanti raksti...