C Program a prímszámok megjelenítésére két intervallum között

Ebben a példában megtanulja nyomtatni az összes prímszámot a felhasználó által beírt két szám között.

A példa megértéséhez ismernie kell a következő C programozási témákat:

  • C ha … más nyilatkozat
  • C a hurok számára
  • C törés és folytatás

Jelenítse meg a prímszámokat két intervallum között

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

Kimenet

 Írjon be két számot (intervallumokat): 20 50 A 20 és 50 közötti prímszámok a következők: 23 29 31 37 41 43 47 

Ebben a programban a whileciklus ismétlődik ( high-low-1) alkalommal.

Mindegyik iterációban be lowvan jelölve , hogy prímszám- e vagy sem, és a értékét addig lownöveljük, 1amíg meg lownem egyezik high.

Látogasson el erre az oldalra, ha többet szeretne megtudni arról, hogyan ellenőrizhető, hogy egy szám elsődleges-e vagy sem.

Ha a felhasználó először beírja a nagyobb számot, akkor a fenti program nem a kívánt módon működik. A számok felcserélésével megoldhatja ezt a problémát.

A fő számok megjelenítése, ha először nagyobb számot ad meg

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

Erről az oldalról megtudhatja, hogyan jelenítheti meg a két intervallum közötti összes prímszámot egy felhasználó által definiált függvény létrehozásával

érdekes cikkek...