2016-12-08 1 views
1

The equationUn petit problème avec c devoirs

Bonjour les gars, j'ai des devoirs à faire avec c et il me donne des problèmes. Donc, fondamentalement, je dois faire un programme qui va me donner le résultat de cette équation particulière, voici mon code:

int main() 
{ 
    int i; 
    int a; 
    printf("a:\t"); 
    scanf("%d",&a); 
    double x,y; 
    double z = 0; 
    for(i=1;i<=9;i++) 
    { 
     if(i==3){continue;} 
     double m=1; 
     for(int n=i;n<=17;n++) 
     { 
      if(n=12){continue;} 
      x=(pow(n,3)-8)/(n-12); 
      m *=x; 
      printf("i = %d'de n = %d iken %f\n", i,n,m); 
     } 
     y=pow(fabs(7-a),i)/pow(i-3,5); 
     z+=y; 
     printf("i = %d ise %f\n", i, y); 
    } 
    printf("W = %f\n", z); 
} 

J'ai utilisé des codes très similaires avec d'autres équations mais celui-ci a été très problématique. Il me demande de taper "a" et attend là sans rien faire même quand je le tape.

Donc, si quelqu'un peut signaler ce qui ne va pas avec mon code, je serais très heureux.

+4

Ce: 'si (n = 12) {continue;}' sera la variable en boucle 'n' à 12 et continuer . Cela signifie que «n» n'atteindra jamais 17. Rappelez-vous que dans C, '=' est assignation; '==' est une comparaison. Votre code est légal C, mais quand j'active l'avertissement, le compilateur suggère de mettre des crochets supplémentaires autour de 'n = 12' pour clarifier qu'il s'agit d'une affectation. –

+0

Vote pour fermer comme une simple faute de frappe. Activer les avertissements du compilateur ... – Lundin

Répondre

3

if(n=12) devrait être

if(n==12) 

sinon vous devrez fournir une boucle infinie

+1

Merci beaucoup !!! Je manque toujours des trucs comme ça. – Lithellion