Calcul d une somme en langage C
Fadia
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrais s'il vous plait calculer cette somme: la Somme des K^p ( n>=0 et p>=0) de k=1 à k=n
ce que je veux savoir , est ce que p est fixe??
#include <stdio.h>
#include <conio.h>
int puissance ( int k,int p)
{
if (p>0)
return k*puissance (k,p-1);
else return 1;
}
double somme ( int k)
{ int p,s=1,i;
for (i=1;i<=p;i++)
{ s=s+puissance (k,p);
}
}
main ()
{
int n;
printf (" donner un nombre ");
scanf("%d",&n);
printf (" la somme est %.0f ",somme (n));
getch ();
}
je voudrais s'il vous plait calculer cette somme: la Somme des K^p ( n>=0 et p>=0) de k=1 à k=n
ce que je veux savoir , est ce que p est fixe??
#include <stdio.h>
#include <conio.h>
int puissance ( int k,int p)
{
if (p>0)
return k*puissance (k,p-1);
else return 1;
}
double somme ( int k)
{ int p,s=1,i;
for (i=1;i<=p;i++)
{ s=s+puissance (k,p);
}
}
main ()
{
int n;
printf (" donner un nombre ");
scanf("%d",&n);
printf (" la somme est %.0f ",somme (n));
getch ();
}
A voir également:
- Somme de deux entiers en c
- Formule somme excel colonne - Guide
- Nombre de jours entre deux dates excel - Guide
- Somme si couleur - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
3 réponses
A tout hazard car je n'ai pas de compilateur C sous la main.
#include <stdio.h> #include <conio.h> int puissance ( int k,int p) { int i; int res = 0; for (i=1;i<=p;i++){ res = res * k;} return res; } double somme ( int n, int p) { int s=0; int k; for (k=1;k<=n;k++) { s=s+puissance(k,p));} } main () { int n; int p; printf (" donner un nombre "); scanf("%d",&n); printf (" donner une puissance"); scanf("%d",&p); printf (" la somme est %.0f ",somme (n,p)); getch (); }
for (i=1;i<=p;i++){ res = res * k;}
Si tu initialises "res" à 0, il sera toujours nul. res = 0*k
Le problème est qu'il n'y a pas de return dans la fonction somme.
Il faudrait mettre un return "s", sinon la valeur de "somme (n,p)" sera toujours la même..
PS: j'ai mis en gras une parenthèse en trop qu'il faut aussi enlever.