C Programa rodyti pirminius skaičius tarp intervalų naudojant funkciją

Šiame pavyzdyje išmoksite spausdinti visus pirminius skaičius tarp dviejų skaičių (kuriuos įvedė vartotojas).

Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:

  • C kilpai
  • C pertrauka ir toliau
  • C funkcijos
  • C Vartotojo nustatytos funkcijos

Norėdami rasti visus pirminius skaičius tarp dviejų skaičių, checkPrimeNumber()sukuriama. Ši funkcija patikrina, ar skaičius yra pagrindinis, ar ne.

Pirminiai skaičiai tarp dviejų sveikųjų skaičių

#include int checkPrimeNumber(int n); int main() ( int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("Prime numbers between %d and %d are: ", n1, n2); for (i = n1 + 1; i < n2; ++i) ( // flag will be equal to 1 if i is prime flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( int j, flag = 1; for (j = 2; j <= n / 2; ++j) ( if (n % j == 0) ( flag = 0; break; ) ) return flag; ) 

Rezultatas

Įveskite du teigiamus skaičius: 12 30 Pirminiai skaičiai nuo 12 iki 30 yra: 13 17 19 23 29 

Jei vartotojas pirmiausia suveda didesnį skaičių, ši programa neveiks taip, kaip numatyta. Norėdami išspręsti šią problemą, pirmiausia turite sukeisti skaičius.

Įdomios straipsniai...