C Programm zur Anzeige von Primzahlen zwischen zwei Intervallen

In diesem Beispiel lernen Sie, alle Primzahlen zwischen zwei vom Benutzer eingegebenen Zahlen zu drucken.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:

  • C if… else Statement
  • C für Schleife
  • C brechen und fortfahren

Primzahlen zwischen zwei Intervallen anzeigen

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

Ausgabe

 Geben Sie zwei Zahlen (Intervalle) ein: 20 50 Primzahlen zwischen 20 und 50 sind: 23 29 31 37 41 43 47 

In diesem Programm wird die whileSchleife ( high-low-1) mal wiederholt .

In jeder Iteration lowwird geprüft , ob es sich um eine Primzahl handelt oder nicht, und der Wert von lowwird um erhöht, 1bis lowgleich gleich ist high.

Besuchen Sie diese Seite, um mehr darüber zu erfahren, wie Sie überprüfen können, ob eine Zahl eine Primzahl ist oder nicht.

Wenn der Benutzer zuerst die größere Zahl eingibt, funktioniert das obige Programm nicht wie beabsichtigt. Sie können dieses Problem lösen, indem Sie die Zahlen austauschen.

Primzahlen anzeigen, wenn zuerst eine größere Zahl eingegeben wird

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

Besuchen Sie diese Seite, um zu erfahren, wie Sie alle Primzahlen zwischen den beiden Intervallen anzeigen können, indem Sie eine benutzerdefinierte Funktion erstellen

Interessante Beiträge...