Šiame pavyzdyje išmoksite spausdinti visus pirminius skaičius tarp dviejų vartotojo įvestų skaičių.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C jei … dar pareiškimas
- C kilpai
- C pertrauka ir toliau
Rodyti pirminius skaičius tarp dviejų intervalų
#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; )
Rezultatas
Įveskite du skaičius (intervalus): 20 50 Pirminiai skaičiai tarp 20 ir 50 yra: 23 29 31 37 41 43 47
Šioje programoje while
ciklas kartojamas ( high-low-1
) kartus.
Kiekvienoje iteracijoje low
pažymima , ar pagrindinis skaičius, ar ne, ir reikšmė low
didinama iki, 1
kol low
lygi high
.
Apsilankykite šiame puslapyje ir sužinokite daugiau, kaip patikrinti, ar skaičius yra pagrindinis.
Jei vartotojas pirmiausia įveda didesnį skaičių, aukščiau nurodyta programa neveikia taip, kaip numatyta. Šią problemą galite išspręsti pakeisdami skaičius.
Rodyti pirminius numerius, kai pirmiausia įvedamas didesnis skaičius
#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; )
Apsilankykite šiame puslapyje ir sužinokite, kaip galite rodyti visus pirminius skaičius tarp dviejų intervalų, sukurdami vartotojo apibrėžtą funkciją