English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, você aprenderá como imprimir todos os números primos entre dois números (informados pelo usuário).
Para entender este exemplo, você deve saber o seguinteprogramação em CTema:
Para encontrar todos os números primos entre esses dois inteiros, foi criada a função checkPrimeNumber(). Esta funçãoverificar se um número é primo。
#include <stdio.h> int checkPrimeNumber(int n); int main() { int n1, n2, i, flag; printf("Insira dois inteiros positivos: "); scanf("%d %d", &n1, &n2); printf("%d e %d entre os números primos: ", n1, n2); for (i = n1 + 1; i < n2; ++i) { // se i for um número primo, flag será igual a1 flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); } return 0; } //função definida pelo usuário para verificar se é primo int checkPrimeNumber(int n) { int j, flag = 1; for (j = 2; j <= n / 2; ++j) {}} if (n % j == 0) { flag = 0; break; } } return flag; }
Resultados de Saída
Insira dois inteiros positivos: 12 30 13e3Primos entre 0 e: 13 17 19 23 29
Se o usuário inserir primeiro um número maior, o programa não funcionará corretamente. Para resolver este problema, você precisa trocar os números primeiro.