Le calcul d'une Somme avec C++

J'ai écrit le code suivant à la somme de la série (-1)^i*(i/(i+1)). Mais quand je le lance j'obtiens -1 pour toute valeur de n.

Certains une, merci de signaler ce que je fais de mal? Je vous remercie à l'avance!

#include <iostream>
using namespace std;

int main()
{
    int sum = 0;
    int i = 1.0;
    int n = 5.0;

    for(i=1;i<=n;i++)
        sum = (-1)^i*(i/(i+1));

    cout << "Sum" <<" = "<< sum << endl;
    return 0;
}
Que pensez-vous de la ^ opérateur? Vous cherchez à effectuer un ou exclusif de l'opération, ou essayez-vous d'effectuer l'exponentiation?
Et pourquoi avez-vous attribuer à virgule flottante d'un entier? (int i = 1.0)
eh bien d'abord, votre réglage de la somme à chaque passage de la boucle et de ne pas ajouter à la valeur précédente. deuxième ^ ne soulèvent pas un pouvoir, comme vous ne le pensez. admirez la c de la bibliothèque math. et attention aux conversions implicites qui se passe quand vous divisez-la en une fraction.

OriginalL'auteur Surfcast23 | 2012-02-03