Nombre parfait

Résolu/Fermé
maria3100 Messages postés 14 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 20 décembre 2016 - Modifié par baladur13 le 1/05/2016 à 15:41
maria3100 Messages postés 14 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 20 décembre 2016 - 20 déc. 2016 à 14:15
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
1 mai 2016 à 16:32
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 mardi 5 avril 2016 Statut Membre Dernière intervention 20 décembre 2016
2 mai 2016 à 01:25
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 samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > maria3100 Messages postés 14 Date d'inscription mardi 5 avril 2016 Statut Membre Dernière intervention 20 décembre 2016
2 mai 2016 à 21:11
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 mardi 5 avril 2016 Statut Membre Dernière intervention 20 décembre 2016
20 déc. 2016 à 14:15
tu peux m aider je ne sais c est quoi un C standard
0
chrisee Messages postés 171 Date d'inscription dimanche 23 février 2014 Statut Membre Dernière intervention 29 juillet 2017 10
2 mai 2016 à 01:40
Ben, comme il marche marques résolu ;)

--
0