Programmierung mit C?

3 Antworten

Bei der Ausgabe fehlt noch die Variable und ein Zeilenumbruch ist hübscher:

printf("... %f\n", summe);

Statt der WHILE-Schleife wäre FOR hier kompakter:

int i;
for (i = 1; i <= 1000; i++) {
   Summe = ...
}

Hilfe123199 
Beitragsersteller
 08.10.2021, 14:15

weiterhin bleibt die Summe aber 0.000000... ist das richtig so?

0
mjutu  08.10.2021, 14:16
@Hilfe123199

Bist du da sicher oder fehlt dir nicht nur der "summe"-Bezug im printf?

0
Hilfe123199 
Beitragsersteller
 08.10.2021, 14:23
@mjutu

Den habe ich gerade reingemacht ..

0
mjutu  08.10.2021, 14:25
@Elumania

Das wäre kein valider Code. Besser:

printf("%f\n", summe);
0
Hilfe123199 
Beitragsersteller
 08.10.2021, 14:29
@mjutu

Jetzt kommt 7.485471 raus, ist das richtig?

0
Hilfe123199 
Beitragsersteller
 08.10.2021, 14:34
@mjutu

Ich danke euch wirklich, vielen vielen dank!!!

1

Ich habe es in einer anderen Sprache genauso nachgeschrieben und bei mir geht es:

Sub main()

Dim i As Integer
i = 1
Dim summe As Double
summe = 0

Do While i <= 1000
summe = summe + 1 / i
i = i + 1

Loop
MsgBox ("Das Ergebnis ist: " & summe)

End Sub

Ich kann aber auch C!

Wie die anderen schon geschrieben haben, die Ausgabefunktion nochmal überarbeiten. Ich meine auch das Return kann weg, da es überflüssig ist. Probiere mal ohne aus.

Ist doch kein Wunder, du sagst dem Programm "Mach eine formatierte Ausgabe mit einem Platzhalter des Typs float/double.", aber du gibst ihm keinen entsprechenden Wert.

So sollte es funktionieren:

printf("Das Ergebnis der Harmonischen Reihe ist %f", summe);