English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

tutorial básico da linguagem C

controle de fluxo da linguagem C

Funções do C

Array do C

Ponteiro do C

String do C

estruturas da linguagem C

arquivos da linguagem C

outros

manual de referência do linguagem C

programa em C que mostra todos os números primos entre dois números

大全 de programação do C

neste exemplo, você aprenderá como imprimir todos os números primos entre os dois números digitados pelo usuário.

para entender este exemplo, você deve entender o seguinteprogramação em CTema:

mostrar os números primos entre dois intervalos

#include <stdio.h>
int main() {
   int low, high, i, flag;
   printf("Digite dois números (separados por espaço): ");
   scanf("%d %d", &low, &high);
   printf("%d e %d entre os números primos: ", low, high);
   //iterar até que low não seja igual a high
   enquanto (low < high) {
      flag = 0;
      // ignorar números menores que2do número
      se low <= 1) {
         ++low;
         continue;
      }
      //se low não for um número primo, então flag é1
      for (i = 2; i <= low / 2; ++i) {
         se low % i == 0 {
            flag = 1;
            break;
         }
      }
      se (flag == 0){
          printf("%d ", low);
      }
         
      ++low;
   }
   return 0;
}

saída de resultados

digite dois números (separados por espaço): 20 
50
20 e5entre 0 e 0 são os números primos: 23 29 31 37 41 43 47

neste programa, o laço while é iterado (high-low-1vezes.

em cada iteração, verificar se low é um número primo, aumentar o valor de low1até que low seja igual a high.

acessar esta página para saber comoverificar se um número é primopara mais informações.

se o usuário digitar primeiro o número maior, o programa acima não funcionará corretamente. Você podetrocar os númerospara resolver esse problema.

quando o número maior for digitado primeiro, mostrar os números primos

#include <stdio.h>
int main() {
   int low, high, i, flag, temp;
   printf("Digite dois números (separados por espaço): ");
   scanf("%d %d", &low, &high);
   //se low for maior que high, trocar os números
   se (low > high) {
      temp = low;
      low = high;
      high = temp;
   }
   printf("%d e %d entre os números primos: ", low, high);
   enquanto (low < high) {
      flag = 0;
      //ignorar números menores que2do número
      se low <= 1) {
         ++low;
         continue;
      }
      for (i = 2; i <= low / 2; ++i) {
         se low % i == 0 {
            flag = 1;
            break;
         }
      }
      if (flag == 0)
         printf("%d ", low);
      ++low;
   }
   return 0;
}

Acesse esta página para saber comoAtravés da criação de funções definidas pelo usuárioVemExibir todos os números primos entre os intervalos de tempo

大全 de programação do C