Bonjour à tous,
Je prends des cours par correspondance de programmeur sur micro.
J'ai un devoir à rendre, je sais ce que vous allez dire, mais je ne demande pas que l'on me fasse le devoir, simplement m'expliquer pourquoi (si c'est possible) mon prog ne donne aucun résultat.

Voici l'ennoncé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
les variables:
entier n
entier k
 
début
     écrire"Décomposition d'un nombre en facteur premier"
     écrire"Introduire un nombre>0"
     Lire n
     tant que n>0 faire
     début
          écrire "facteurs premiers"
          tant n modulo 2=0 faire
          début
                 écrire"2"
                 .n<--n/2
          fin
          k<--3
          tant que n=1
          si (modulok=0) alors k<--k+2
          sinon
          début
                 écrire k
                 n<--n/k
           fin
           écrire"Introduire un nombre>0"
           Lire n
     fin
fin
Voici ma traduction en C:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<stdio.h>
#include<math.h>
 
int n,k;
 
main()
/*Decomposition d'un nombre en facteur premier*/
{
                printf("\nIntroduire un nombre superieur a 0:\t");
/*le tabulateur est la pour la lisibilité dans la fenetre DOS*/
                scanf("%d", &n);
                while(n>0);
                {
/*facteur premier*/
                      while(n%2==0);
                      {
                            printf("2");
                            n=n/2;
                      }
                      k=3;
                      while(n==1);
                      if(n%k==0) k=k+2;
                      else("");
                      {
                          printf("%d", &k);
                          n=n/k;
                      }
                      printf("Introduire un nombre>0:\n");
                      scanf("%d", &n);
                }                
}
Je nobtient aucun résultat final, a priori pas d'erreur lors de la compilation (j'utilise Dev-C++ 4.9.9.2), pas de warning, le programme s'execute je rentre bien un nombre superieur à 0, et rien ne se passe, juste le prompt qui clignote ...

Quelle erreur ai je fais?
Est ce que c'est le choix des boucles qui ne sont pas bonnes?
Pouvez vous m'aider a comprendre?

Un grand merci a tous