U ovom ćete primjeru naučiti ispisivati sve proste brojeve između dva broja koja je korisnik unio.
Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:
- C if … else Izjava
- C za Loop
- C razbiti i nastaviti
Prikazujte proste brojeve između dva intervala
#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; )
Izlaz
Unesite dva broja (intervale): 20 50 Prosti brojevi između 20 i 50 su: 23 29 31 37 41 43 47
U ovom se programu while
petlja ponavlja ( high-low-1
) puta.
U svakoj se iteraciji provjerava low
je li prost broj ili nije, a vrijednost od low
se uvećava za 1
dok low
nije jednaka high
.
Posjetite ovu stranicu da biste saznali više o tome kako provjeriti je li broj prost ili nije.
Ako korisnik prvo unese veći broj, gornji program neće raditi kako je predviđeno. Ovaj problem možete riješiti zamjenom brojeva.
Prikazuj proste brojeve kad se prvo unese veći broj
#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; )
Posjetite ovu stranicu da biste saznali kako možete prikazati sve proste brojeve između dva intervala stvaranjem korisnički definirane funkcije