Programa C para exibir os números principais entre dois intervalos

Neste exemplo, você aprenderá a imprimir todos os números primos entre dois números inseridos pelo usuário.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:

  • Declaração C if … else
  • C para Loop
  • C quebrar e continuar

Exibir números primos entre dois intervalos

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

Resultado

 Digite dois números (intervalos): 20 50 Os números primos entre 20 e 50 são: 23 29 31 37 41 43 47 

Neste programa, o whileloop é iterado ( high-low-1) vezes.

Em cada iteração, se lowé um número primo ou não é verificado, e o valor de lowé incrementado em 1até que lowseja igual a high.

Visite esta página para saber mais sobre como verificar se um número é primo ou não.

Se o usuário inserir o número maior primeiro, o programa acima não funcionará conforme o esperado. Você pode resolver esse problema trocando os números.

Exibir números primos quando o número maior for inserido primeiro

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

Visite esta página para saber como você pode exibir todos os números primos entre os dois intervalos, criando uma função definida pelo usuário

Artigos interessantes...