Urgent Langage C

Bonjour,

Quelqu'un pourrait me dire comment on fait un programme qui affiche tous les nombre 1ers compris entre 2 intervalles?



--
Dieu n'a fait qu'ébaucher l'homme, c'est sur terre que chacun se crèe

2 réponses

  1. voici mon programme:

    #include<stdio.h>
    int nbr,n,compter,lim1,lim2,compter1;
    main()
    {
    do
    {
    printf("Donner la valeur de la 1ère limite: ");
    scanf("%d", &lim1);
    }
    while(lim1<0);
    do
    {
    printf("Donner la valeur de la 2e limite (elle doit être supérieure à la 1ère limite): ");
    scanf("%d", &lim2);
    }
    while(lim2<lim1);
    for(nbr=lim1;nbr<=lim2;nbr++)
    {
    for(n=2;n<=lim2;n++)
    {
    if(nbr%n==0)
    {
    compter=1;
    compter1=compter+1;
    compter=0;
    }
    }
    if(compter1==1)
    printf("%d est un nombre premier\n", nbr);
    else
    printf("Il n'y a pas de de nombre premier entre %d et %d", lim1,lim2);
    }
    }
    Dieu n'a fait qu'ébaucher l'homme, c'est sur terre que chacun se crèe
    1. Bonjour, l'idée est la bonne
      petite correction :
      #include<stdio.h>
      int nbr,n,compter,compter1,lim1,lim2;
      int main(void)
        {
          do
            {
              printf("Donner la valeur de la 1ère limite: ");
              scanf("%d", &lim1);
            }
          while(lim1<0);
          do
            {
              printf("Donner la valeur de la 2e limite (elle doit être supérieure à la 1ère limite): ");
              scanf("%d", &lim2);
            }
          while(lim2<lim1);
          for(compter1=0,nbr=lim1;nbr<=lim2;nbr++)
            {
              for(compter=0,n=2;n<=lim2;n++)
                {
                  if(nbr%n==0)
                    {
                      compter++;
                    }
                }
              if(compter==1){
                  printf("%d est un nombre premier\n", nbr);
                  compter1++;
              }
            }
          if(!compter1)
              printf("Il n'y a pas de de nombre premier entre %d et %d", lim1,lim2);
          return 0;
        }
      
      1. Ok, merci beaycoup. je suis actuellement sur windows. je l'essayera sur ubuntu pr vwr si ca marche et je te tiens au courant.
      2. Ok, merci et ca marche. mais y a t-il une different entre main() et main(void)?
      3. salut,

        c'est juste "un peu plus correct". main() est une fonction, et elle ne prend aucun argument. Donc on écrit main(void) (void signifie "vide", "rien")

        mais la plupart des compilateurs C acceptent que tu écrives int main() au lieu de int main(void)

        si tu ne sais pas trop ce qu'est une fonction et des arguments, alors c'est pas grave.
      4. Ok. mais pouvez vous aussi me dire pourquoi le mien (mon programme ci-haut affiché) n'affiche que le 1er nombre premier qu'il trouve?