C programma, lai parādītu primāros skaitļus starp diviem intervāliem

Šajā piemērā jūs iemācīsities drukāt visus galvenos skaitļus starp diviem lietotāja ievadītajiem skaitļiem.

Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:

  • C ja … cits paziņojums
  • C cilnei
  • C pārtraukums un turpinājums

Parādīt Prime numurus starp diviem intervāliem

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

Rezultāts

 Ievadiet divus skaitļus (intervālus): 20 50 Galvenie skaitļi no 20 līdz 50 ir: 23 29 31 37 41 43 47 

Šajā programmā whilecilpa tiek atkārtota ( high-low-1) reizes.

Katrā atkārtojumā lowtiek pārbaudīts , vai ir galvenais skaitlis, vai nav, un vērtība lowtiek palielināta līdz 1līdz lowir vienāda ar high.

Apmeklējiet šo lapu, lai uzzinātu vairāk par to, kā pārbaudīt, vai skaitlis ir galvenais.

Ja lietotājs vispirms ievada lielāku skaitu, iepriekš minētā programma nedarbojas, kā paredzēts. Jūs varat atrisināt šo problēmu, apmainot ciparus.

Parādīt galvenos numurus, kad vispirms tiek ievadīts lielāks skaitlis

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

Apmeklējiet šo lapu, lai uzzinātu, kā jūs varat parādīt visus primāros skaitļus starp diviem intervāliem, izveidojot lietotāja definētu funkciju

Interesanti raksti...