C Programmeer om priemgetallen tussen twee intervallen weer te geven

In dit voorbeeld leert u alle priemgetallen tussen twee door de gebruiker ingevoerde cijfers af te drukken.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C-programmeeronderwerpen:

  • C if… else Statement
  • C voor Loop
  • C breken en doorgaan

Toon priemgetallen tussen twee intervallen

 #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; )

Uitvoer

 Voer twee cijfers (intervallen) in: 20 50 Priemgetallen tussen 20 en 50 zijn: 23 29 31 37 41 43 47 

In dit programma wordt de whilelus herhaald ( high-low-1) keer.

Bij elke iteratie lowwordt gecontroleerd of het een priemgetal is of niet, en de waarde van lowwordt opgehoogd met 1totdat lowis gelijk aan high.

Bezoek deze pagina voor meer informatie over hoe u kunt controleren of een getal een priemgetal is of niet.

Als de gebruiker eerst het grotere nummer invoert, werkt het bovenstaande programma niet zoals bedoeld. U kunt dit probleem oplossen door de nummers om te wisselen.

Toon priemgetallen wanneer een groter getal als eerste wordt ingevoerd

 #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; )

Bezoek deze pagina om te zien hoe u alle priemgetallen tussen de twee intervallen kunt weergeven door een door de gebruiker gedefinieerde functie te maken

Interessante artikelen...