Nombre parfait

Résolu
maria3100 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
maria3100 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
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

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
maria3100 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > maria3100 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Il marche peut-être mais le programme n'est pas correct pour autant.
Ce n'est pas du C standard.
0
maria3100 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
tu peux m aider je ne sais c est quoi un C standard
0
chrisee Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   10
 
Ben, comme il marche marques résolu ;)

--
0