Dein Fortschritt:
0 / 0 Aufgaben
1
Die Tagesanzeige der Wetterstation
AFB I–IIDie Wetter-AG betreibt auf dem Schuldach eine kleine Wetterstation. Mira schreibt ein C-Programm, das auf dem Display im Foyer eine Tageszusammenfassung zeigt. Heute wurden vier Temperaturen gemessen: 19 °C, 22 °C, 24 °C und 18 °C. Zum Testen trägt Mira die Werte fest im Programm ein.
C · wetter.c
#include <stdio.h> int main(void) { int summe = 83; // vier Messwerte in °C: 19 + 22 + 24 + 18 int anzahl = 4; double mittel = summe / anzahl; char einheit = 'C'; int regen = 35; // Regenwahrscheinlichkeit in Prozent printf("Messungen:%5d\n", anzahl); printf("Mittel:%8.2f %c\n", mittel, einheit); printf("Regen:\t%d%%\n", regen); return 0; }
Beim ersten Test wundert sich Mira: Der Mittelwert sollte doch 20,75 °C sein.
- Ermitteln Sie die genaue Ausgabe des Programms. Kennzeichnen Sie jedes Leerzeichen mit dem Zeichen ␣ und den Tabulator mit →.
- Begründen Sie, warum beim Mittelwert nicht 20.75 erscheint, obwohl
mittelalsdoubledeklariert ist. - Nennen Sie zwei verschiedene Änderungen der Zeile
double mittel = summe / anzahl;, nach denen 20.75 ausgegeben wird.
Hinweise
Hinweis zu Aufgabe a)
Gehen Sie die drei
printf-Aufrufe einzeln durch. %5d reserviert 5 Zeichen, %8.2f reserviert 8 Zeichen inklusive Punkt und Nachkommastellen; der Wert steht rechtsbündig. Was macht %%?Hinweis zu Aufgabe b)
Welchen Typ haben
summe und anzahl? In welcher Reihenfolge passieren Rechnen und Speichern in mittel?Hinweis zu Aufgabe c)
Es genügt, wenn einer der beiden Operanden ein Kommazahl-Typ ist. Vorsicht mit Klammern: Wann wird umgewandelt?
