C Program för att visa primtal mellan två intervall

I det här exemplet lär du dig att skriva ut alla primtal mellan två siffror som anges av användaren.

För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:

  • C if… else Uttalande
  • C för loop
  • C bryta och fortsätt

Visa primtal mellan två intervall

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

Produktion

 Ange två nummer (intervall): 20 50 Primtal mellan 20 och 50 är: 23 29 31 37 41 43 47 

I det här programmet whileupprepas slingan ( high-low-1) gånger.

I varje iteration lowkontrolleras huruvida ett primtal eller inte är och värdet på lowökas med 1tills lowär lika med high.

Besök den här sidan för att lära dig mer om hur du kontrollerar om ett tal är primt eller inte.

Om användaren matar in det större numret först fungerar ovanstående program inte som avsett. Du kan lösa problemet genom att byta siffror.

Visa primtal när större nummer matas in först

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

Besök den här sidan för att lära dig hur du kan visa alla primtal mellan de två intervallen genom att skapa en användardefinierad funktion

Intressanta artiklar...