2017-02-09 26 views
0

Ich brauche mein Programm zu laufen und sagen Sie mir die Summe der natürlichen Zahl eingegeben auch muss es zusammen mit der Gesamtsumme ich brauche es, um die Summe der ungeraden und geraden ganzen Zahlen zu zeigen. Das ist, was ich habe, so weit und es wird nicht korrekt in C.C Programmierung hinzufügen von natürlichen Zahlen

#include <stdio.h> 
int main (void) 
{ 
    int n, i, sum = 0; 
    int sum1 = 0; 
    int sum2 = 0; 
    printf("enter a number and I will tell you the numbers sums."); 
    scanf("%d", &n); 

    for(i=1; i<= n; ++n) 
    { 
     sum2 = sum2 + n; 
    } 
    for(i=2; i<= n; ++n) 
    { 
     sum1 = sum1 + n; 
    } 
    for(i=1; i<= n; ++n) 
    { 
     sum += i; 
    } 
    printf("sum of integers is %d" ,sum); 
    printf("sum of odd integers is %d" ,sum1); 
    printf("sum of even integers is %d" ,sum2); 

    return 0; 
} 
+0

für eine beliebige Anzahl n – dylan

+0

Bedürfnisse [MCVE] und eine richtige Problemstellung zu initialisieren. –

+1

dh "Beschreibe das Problem." Es funktioniert nicht "ist keine Problemaussage. Erzähl uns, wie das erwartete Verhalten sein soll. Erzähl uns, wie die genaue Formulierung der Fehlermeldung lautet und welche Codezeile sie produziert. Geben Sie eine kurze Zusammenfassung des Problems in den Titel Ihrer Frage ein. " –

Antwort

1

In Loops zu zählen ungerade und gerade, müssen Sie durch 2 in der Schleife zu erhöhen, läuft, nicht ein. Statt ++i verwenden i += 2:

for (i = 2; i <= n; i += 2) 

Und es sollte i in den Zuwachs, nicht n. Sie ändern den Wert Ihrer endgültigen Variablen. Darüber hinaus sollten Sie i zu Ihren Summen hinzufügen, außer ich missverstehe, was Sie versuchen, zu tun, nicht n.

0

Sie nur eine für Schleife erfordern hier, wie

sum = sum1= sum2 =0; 
for(i=0; i<= n; i++) 
{ 
sum = sum +i; 
if(i %2 == 0) 
sum2 += i; 
else 
sum1 +=i; 
} 

Verwendung if-Anweisung für die Filterung Nummern und vergessen Sie nicht alle Summe var auf 0

Verwandte Themen