În acest exemplu, veți învăța să imprimați toate numerele prime între două numere introduse de utilizator.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:
- C dacă … altfel Declarație
- C pentru Loop
- C rupe și continuă
Afișați numerele prime între două intervale
#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; )
Ieșire
Introduceți două numere (intervale): 20 50 Numerele prime între 20 și 50 sunt: 23 29 31 37 41 43 47
În acest program, while
bucla este iterată ( high-low-1
) ori.
În fiecare iterație, low
se verifică dacă este sau nu un număr prim, iar valoarea lui low
este incrementată cu 1
până când low
este egală cu high
.
Accesați această pagină pentru a afla mai multe despre cum să verificați dacă un număr este sau nu prim.
Dacă utilizatorul introduce mai întâi numărul mai mare, programul de mai sus nu funcționează conform intenției. Puteți rezolva această problemă schimbând numerele.
Afișați numerele prime atunci când este introdus primul număr mai mare
#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; )
Accesați această pagină pentru a afla cum puteți afișa toate numerele prime între cele două intervale prin crearea unei funcții definite de utilizator