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