Calculer la somme en utilisant la boucle"pour"ou bien"tant que"?
Fermé
ladiagonaledufou
fiddy
- Messages postés
- 7
- Date d'inscription
- lundi 28 décembre 2015
- Statut
- Membre
- Dernière intervention
- 29 décembre 2015
fiddy
- Messages postés
- 11067
- Date d'inscription
- samedi 5 mai 2007
- Statut
- Contributeur
- Dernière intervention
- 23 avril 2022
A voir également:
- écrire un programme qui calcule la somme
- Ecrire un programme en c qui calcule la somme de deux nombres - Meilleures réponses
- écrire un programme qui calcule la somme de deux nombres - Meilleures réponses
- Ecrire un programme qui calcule la somme ✓ - Forum - C
- écrire un programme qui calcule la somme des nombres de 1 à n - Forum - Programmation
- Calcul d une somme en langage C - Forum - C
- Calcul de la somme des chiffres d'un nombre ✓ - Forum - Programmation
- [Programme C] Produit des doubles des n premiers entiers ✓ - Forum - C
3 réponses
fiddy
28 déc. 2015 à 16:13
- Messages postés
- 11067
- Date d'inscription
- samedi 5 mai 2007
- Statut
- Contributeur
- Dernière intervention
- 23 avril 2022
28 déc. 2015 à 16:13
Bonjour,
Qu'est-ce qui te bloque ? La partie algorithmique ou la partie "code en C" ?
Oui, cela peut se faire avec une boucle for ou même une boucle while.
Qu'est-ce qui te bloque ? La partie algorithmique ou la partie "code en C" ?
Oui, cela peut se faire avec une boucle for ou même une boucle while.
28 déc. 2015 à 17:32
je vous remercie :)
28 déc. 2015 à 21:14
29 déc. 2015 à 16:46
#include<conio.h>
void main ()
{ int i=0,s=0,n ;
clrscr();
printf("donner n= ");
scanf ("%d",&n);
while(i<=n)
{s=s+1
i=i+1;
}
printf("s=%d",s);
getch();
}
et le résulta par exemple si on prend n=5 on trouve la somme "s=15"
maintenant je vais essai avec la boucle " for "
#include<stdio.h>
#include<conio.h>
void main ()
{ int i,s,n ;
clrscr();
printf("donner n= ");
scanf ("%d",&n);
for(i=0,i<=n,i++)
{s=s+1;
}
printf("s=%d",s);
getch();
}
et la le résulta si on prend le même cas que j'ai pris avant
c'est à dire : n=5 j'aurai la somme qui apparaît comme ce ci :
s=1271 ce qui est différent du premier résulta avec "while"
sachant que le vrais résulta de la somme c'est s=15 lorsque n=5
je vous remercie , belle journée pour vous :)
29 déc. 2015 à 19:46
Mes remarques sur l'algorithme :
Ce n'est pas bon. Là, tu ne fais pas 1+2+3+4, mais n+1.
Il faudrait plutôt additionner s et i. Je te laisse réfléchir sur la manière de faire.
Maintenant, mes remarques sur le code :
void main()
Le bon prototype du main() sans argument est : int main(void)
Aussi, il ne faut pas oublier le return 0; avant l'accolade finale.
conio.h et getch()
Attention, ce n'est pas portable. Utilise plutôt getchar().
clrscr()
De même, non portable. Entre nous, cela a plus tendant à énerver l'utilisateur lorsqu'on supprime sa console. Donc tu n'es même pas obligé de mettre :-).
printf("s=%d",s);
N'oublie pas de mettre un \n après %d (pour forcer l'affichage avant la fin du programme).
Pour le deuxième programme :
for(i=0,i<=n,i++)
Attention, ce sont des ; (et non des ,) pour séparer les conditions du for.
N'hésite pas à reposter ton code corrigé pour qu'on vérifie.
Note : n'oublie pas d'utiliser la balise <code c> pour poster ton code proprement.
Exemple :
<code c>
ici tu mets ton code
</code>
29 déc. 2015 à 21:16
et là même probleme le resulta n'est pas juste car lorsque je lui donne n=5 le resulta est :s=1237
alors que normalement s=15
ah vous savais je pense que la faute pouvais bien être sur ( ne pas avoir donner une valeur pour la somme "s" de l’initialisation oui c'est ça :) merci beaucoup de votre aide je vais envoyer le bon code ... et ça marche n=5,s=15 )