C Programmera för att kontrollera Prime- eller Armstrong-nummer med användardefinierad funktion

Innehållsförteckning

I det här exemplet lär du dig att kontrollera om ett heltal är ett primtal eller en Armstrong eller båda genom att skapa två separata funktioner.

För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:

  • C för loop
  • C medan och gör … medan Loop
  • C bryta och fortsätt
  • C Funktioner
  • Typer av användardefinierade funktioner i C-programmering

I detta program, två användardefinierade funktioner checkPrimeNumber()och checkArmstrongNumber()skapas.

De checkPrimeNumber()funktionen returnerar 1om numret av användaren är ett primtal. På samma sätt checkArmstrongNumber()returnerar funktionen också 1om numret som användaren anger är ett Armstrong-nummer.

Besök dessa sidor för att lära dig att kontrollera om ett nummer är

  • ett primtal eller inte
  • ett Armstrong-nummer eller inte

Exempel: Kolla Prime och 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; )

Produktion

Ange ett positivt heltal: 407 407 är inte ett primtal. 407 är ett Armstrong-nummer.

Intressanta artiklar...