Nombre parfait

Résolu
maria3100 Messages postés 19 Statut Membre -  
maria3100 Messages postés 19 Statut Membre -
svp mon programme veux pas marcher
aide moi svp

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

main()
{ int i,s=0,n;
printf("donner n:");
scanf("%d",&n);
while(i<n)
{ if(n%i==0)
 {s=s+i;}
i++;}
if(n=s){printf(" n est parfait ");}
else {printf(" n est non parfait ");}
 getch();
}


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    #include<conio.h>
    Non standard. A supprimer.

    main()
    Non standard. Le bon prototype est : int main (void)

    while(i<n)
    i n'est pas initialisé. Au vu de l'exercice, il faut que tu cases i=1; juste avant le while.

    if(n=s){printf(" n est parfait ");}
    L'opérateur de comparaison en C est le double égal (==).
    => if (n==s)...

    getch();
    Non standard. Utilise plutôt system("pause");

    N'oublie pas d'afficher un '\n' à la fin de ta dernière phrase.

    Il manque le return 0; final. À mettre avant l'accolade finale.

    Tu peux par exemple mettre : putchar('\n'); avant le return 0; ou mettre un '\n' à la fin des 2 phrases se terminant par "parfait".

    Cdlt,
    0
    1. maria3100 Messages postés 19 Statut Membre
       
      merci beaucoup il marche maintenant



      #include<stdio.h>
      #include<stdlib.h>
      #include<conio.h>

      main()
      { int i=1,s=0,n;
      printf("donner n:");
      scanf("%d",&n);
      while(i<n)
      { if(n%i==0)
      {s=s+i;}
      i++;}
      if(n==s){printf(" n est parfait ");}
      else {printf(" n est non parfait ");}
      getch();
      0
      1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > maria3100 Messages postés 19 Statut Membre
         
        Il marche peut-être mais le programme n'est pas correct pour autant.
        Ce n'est pas du C standard.
        0
    2. maria3100 Messages postés 19 Statut Membre
       
      tu peux m aider je ne sais c est quoi un C standard
      0
  2. chrisee Messages postés 212 Statut Membre 10
     
    Ben, comme il marche marques résolu ;)

    --
    0