Program C pentru afișarea numerelor prime între două intervale

Î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, whilebucla este iterată ( high-low-1) ori.

În fiecare iterație, lowse verifică dacă este sau nu un număr prim, iar valoarea lui loweste incrementată cu 1până când loweste 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

Articole interesante...