2017-04-03 1 views
-1

J'essaie de trouver une solution à ce problème de codage: Créer une boucle for qui commencera avec une valeur de 5 et se terminera avec une valeur de 25 Dans chaque itération, ajoutez la valeur d'incrémentation à mathTotal. (INDICE: la dernière valeur utilisée à l'intérieur de la boucle devrait être 25)Faire un incrémental pour la fin de la boucle d'un certain nombre dans l'objectif-c

Mais la façon dont je peux penser à le faire revient avec un nombre final pour mathTotal de 26. Je ne suis pas sûr de savoir comment manipuler le code pour arrêter à 25 sans réellement faire le calcul pour savoir quel numéro doit rendre la condition pour que le programme cesse de fonctionner.

C'est ce que j'ai:

int mathTotal; 

for(int i = 5; mathTotal <=25; i++) { 
    mathTotal = mathTotal + i; 
} 

Je sais que c'est un problème simple, mais j'apprends comment le code et ne veulent pas passer sans quelque chose de bien comprendre.

Merci!

+1

pourquoi vous utilise mathTotal <= 25? vous devriez utiliser i <= 25? pour (int i = 5; i <= 25; i ++) { mathTotal = i ++; } –

+0

BTW: Gauss nous a appris que c'est (min + max) * (max-min + 1)/2'. Quand il était un garçon de neuf ans. –

+0

Quand je fais i <= 25, le code s'arrête quand je ai 25, mais le problème est spécifiquement de demander l'arrêt du code quand mathTotal est 25 –

Répondre

3

Il y a deux problèmes majeurs:

  1. mathTotal n'est pas initialisé. Vous devez définir une valeur initiale.

    int mathTotal = 0; 
    
  2. La bordure supérieure (le deuxième paramètre de la boucle) est définie comme mathTotal <= 25 - plutôt que i <= 25 - qui sera atteint lorsque i est 8.

    for (int i = 5; i <=25; i++) { 
        mathTotal = mathTotal + i; 
    } 
    
+0

Vous avez raison .. J'aurais dû me débrouiller tout seul ... mais merci! –

0

La traditionnelle boucle en Objective-C est hérité de la norme C et prend la forme suivante:

for (/* Instantiate local variables*/ ; /* Condition to keep looping. */ ; /* End of loop expressions */) 
{ 
// Do something. 
} 

Par exemple, pour imprimer les numéros de 1 à 10, vous pouvez utiliser la boucle for:

for (int i = 1; i <= 10; i++) 
{ 
NSLog(@"%d", i); //do something 
} 

Ceci est logiquement equivilant à la traditionnelle boucle suivante:

for (int i = 0; i < [yourArray count]; i++) 
{ 
NSLog([myArrayOfStrings objectAtIndex:i]); 
} 

Votre doute

int mathTotal = 0; 

for (i = 5 = 0; i <=25 ; i++) 
{ 

mathTotal = mathTotal + i; 
}