Calcul d une somme en langage C

Fadia -  
fiddy Messages postés 441 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 ();
}

3 réponses

  1. newkiss Messages postés 145 Statut Membre 13
     
    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 (); 
    }
    
    
    8
    1. Fukstib Messages postés 69 Statut Membre 1
       
      int res = 0;

      for (i=1;i<=p;i++){ res = res * k;}

      Si tu initialises "res" à 0, il sera toujours nul. res = 0*k
      0
    2. newkiss Messages postés 145 Statut Membre 13
       
      C'est pas faux. Autant pour moi
      0
    3. Fukstib Messages postés 69 Statut Membre 1
       
      printf (" la somme est %.0f ",somme (n,p));

      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.
      0