2016-04-02 1 views
-7

Ich versuche ein einfaches C-Programm zu erstellen, das den Benutzer kontinuierlich auffordert, eine Zahl einzugeben, bis ein Negativ eingegeben wird. Wenn ein Negativ eingegeben wird, fügt es alle hinzu positive Zahlen, die vom Benutzer eingegeben wurden. Ich habe ein Problem, weil ich einfach nicht weiß, wie ich die eingegebenen Nummern hinzufügen soll. Ich habe einen Anfang gemacht und haben dies bisher:C Programm - Ganzzahlen aus While-Schleife hinzufügen

int main() 
    { 
     int numbersEntered, sum; 
     while(numbersEntered>0) { 
     printf("Enter Numbers to add together: "); 
     scanf("%d", &numbersEntered); 
     } 
     printf("%d", sum); 
    } 

Ich weiß nicht, wie ich eintrat, die Summe aller Zahlen berechnen kann.

+2

Wenn Sie Hausaufgaben machen, sollten Sie versuchen, sie selbst zu tun, nicht andere bitten, es zu tun. Dies ist ein extrem einfaches Konzept, und Sie hätten nach ein paar Minuten der Recherche eine Antwort gefunden (Wie fügt man Zahlen in c ein?) – Rob

Antwort

0

Das Programm kann sehen die folgende Art und Weise

#include <stdio.h> 

int main(void) 
{ 
    int numberEntered; 
    long long int sum; 

    sum = 0; 

    printf("Enter numbers to add together (a negative number - exit): "); 

    while(scanf("%d", &numberEntered) == 1 && numberEntered >= 0) 
    { 
     sum += numberEntered; 
    } 

    printf("%lld\n", sum); 
} 
0

Sie die folgende Formel verwenden können, um die Summe zu berechnen: sum = sum + numbersEntered; Dies ist derselbe wie der folgende Verknüpfungsoperator sum + = numbersEntered; so fügen Sie die alte Summe zu den numbersEntered hinzu und stellen sie in Summe wieder her , aber passen Sie auf: Vergessen Sie nicht, die Summe mit 0 zu initialisieren.

0

Ihr Programm hat nicht funktioniert, weil Sie zunächst keinen Wert in der NumbersEntered-Variable hatten. Sie müssen zuerst eine Zahl lesen, da die while-Bedingung zuerst ausgewertet werden muss. Dies ist ein Weg, um zu dieser sehr leicht:

int main() 
{ 
    int numbersEntered, sum=0; 
    printf("Enter the first number: "); 
    while (scanf("%d", &numbersEntered) > 0 && numbersEntered > 0) 
    { 
     printf("Enter another number to be added to the sum: "); 
     sum += numbersEntered; 
    } 
    printf("\nSum is: "); 
    printf("%d", sum); 
    printf("\n"); 
    return 0; 
} 

Eine Sache zu erinnern: scanf Funktion ein Wert größer als Null zurückgibt, wenn die Lesedurchgeführt. Und Sie müssen Ihren Summenwert auf 0 initialisieren, denn wenn Sie es einfach deklarieren, wird es mit einem Wert aus dem Speicher initialisiert (alle Werte aus einem Programm werden mit einem Wert initialisiert, auch wenn Sie es nicht tun).