English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recueil complet d'exemples de programmation en C
dans cet exemple, vous apprendrez à imprimer tous les nombres premiers entre les deux nombres saisis par l'utilisateur.
pour comprendre cet exemple, vous devriez comprendre les éléments suivantsprogrammation en CSujet :
#include <stdio.h> int main() { int bas, haut, i, flag; printf("Entrez deux nombres (espacés) : "); scanf("%d %d", &bas, &haut); printf("%d et %d entre eux sont les nombres premiers: ", bas, haut); //itérer jusqu'à ce que bas ne soit pas égal à haut while (bas < haut) { flag = 0; // ignorer les nombres inférieurs à2du nombre si (bas <= 1) { ++low; continue; } //si bas n'est pas un nombre premier, alors flag est1 for (i = 2; i <= bas / 2; ++i) { si (bas bas % i == 0) { flag = 1; break; } } si (flag == 0) { printf("%d ", low); } ++low; } return 0; }
résultat de la sortie
entrez deux nombres (espacés) : 20 50 2et5entre 0 et 23 29 31 37 41 43 47
dans ce programme, la boucle while est itérée (haut-bas-1fois.
à chaque itération, vérifier si bas est un nombre premier, augmenter la valeur de bas1jusqu'à ce que bas soit égal à haut.
visiter cette page pour en savoir plus sur la manière devérifier si un nombre est un nombre premierplus d'informations.
si le plus grand nombre est entré en premier par l'utilisateur, le programme ci-dessus ne fonctionnera pas correctement. Vous pouvezéchanger les nombrespour résoudre ce problème.
#include <stdio.h> int main() { int bas, haut, i, flag, temp; printf("Entrez deux nombres (espacés) : "); scanf("%d %d", &bas, &haut); //échanger les nombres si bas est supérieur à haut si (bas > haut) { temp = bas; bas = haut; haut = temp; } printf("%d et %d entre eux sont les nombres premiers: ", bas, haut); while (bas < haut) { flag = 0; //ignorer les nombres inférieurs à2du nombre si (bas <= 1) { ++low; continue; } for (i = 2; i <= bas / 2; ++i) { si (bas bas % i == 0) { flag = 1; break; } } if (flag == 0) printf("%d ", low); ++low; } return 0; }
Visitez cette page pour savoir commentEn créant des fonctions utilisateur définiesViensAfficher tous les nombres premiers entre deux intervalles de temps