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 while
lus herhaald ( high-low-1
) keer.
Bij elke iteratie low
wordt gecontroleerd of het een priemgetal is of niet, en de waarde van low
wordt opgehoogd met 1
totdat low
is 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