Program C pro zobrazení prvočísel mezi intervaly pomocí funkce

V tomto příkladu se naučíte tisknout všechna prvočísla mezi dvěma čísly (zadanými uživatelem).

Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:

  • C pro smyčku
  • C zlom a pokračuj
  • Funkce C.
  • C Uživatelem definované funkce

Chcete-li najít všechna prvočísla mezi dvěma celými čísly, checkPrimeNumber()je vytvořen. Tato funkce kontroluje, zda je číslo prvočíslo nebo ne.

Prvočísla mezi dvěma celými čísly

#include int checkPrimeNumber(int n); int main() ( int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("Prime numbers between %d and %d are: ", n1, n2); for (i = n1 + 1; i < n2; ++i) ( // flag will be equal to 1 if i is prime flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( int j, flag = 1; for (j = 2; j <= n / 2; ++j) ( if (n % j == 0) ( flag = 0; break; ) ) return flag; ) 

Výstup

Zadejte dvě kladná celá čísla: 12 30 Prvočísla mezi 12 a 30 jsou: 13 17 19 23 29 

Pokud uživatel nejprve zadá větší číslo, nebude tento program fungovat tak, jak má. Chcete-li tento problém vyřešit, musíte nejprve vyměnit čísla.

Zajímavé články...