Program C pro zobrazení prvočísel mezi dvěma intervaly

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 pokud … jiné prohlášení
  • C pro smyčku
  • C zlom a pokračuj

Zobrazit prvočísla mezi dvěma intervaly

 #include int main() ( int low, high, i, flag; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Prime numbers between %d and %d are: ", low, high); // iteration until low is not equal to high while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) // if low is a non-prime number, flag will be 1 for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); // to check prime for the next number // increase low by 1 ++low; ) return 0; )

Výstup

 Zadejte dvě čísla (intervaly): 20 50 Prvočísla mezi 20 a 50 jsou: 23 29 31 37 41 43 47 

V tomto programu je whilesmyčka iterována ( high-low-1) krát.

V každé iteraci lowje zaškrtnuto , zda je prvočíslo nebo ne, a hodnota lowje zvýšena o 1dokud lowse rovná high.

Na této stránce najdete další informace o tom, jak zjistit, zda je číslo prvočíslo nebo ne.

Pokud uživatel nejprve zadá větší číslo, výše uvedený program nefunguje tak, jak má. Tento problém můžete vyřešit záměnou čísel.

Zobrazit prvočísla, když je nejprve zadáno větší číslo

 #include int main() ( int low, high, i, flag, temp; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); // swap numbers if low is greather than high if (low> high) ( temp = low; low = high; high = temp; ) printf("Prime numbers between %d and %d are: ", low, high); while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); ++low; ) return 0; )

Na této stránce se dozvíte, jak můžete zobrazit všechna prvočísla mezi dvěma intervaly vytvořením uživatelem definované funkce

Zajímavé články...