C# :: Aufgabe #320 :: Lösung #1

4 Lösungen Lösungen öffentlich
#320

Rationale Zahlen einlesen: Mittelwert,Produkt und das Maximum ermitteln

Anfänger - C# von Cara - 10.05.2020 um 21:54 Uhr
Schreiben Sie ein Programm, das n rationale Zahlen einliest / einlesen kann und den Mittelwert, das Produkt und das Maximum dieser Zahlen ermittelt und ausgibt.
#1
2 Kommentare
vote_ok
von JKooP (18090 Punkte) - 01.06.2020 um 09:45 Uhr
NET Core 3.x

Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;

namespace CS_Aufgabe_320_Rationale_Zahlen
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Anzahl der einzugebenen Zahlen: ");
            _ = int.TryParse(Console.ReadLine(), out var anzZahlen);
            var zaehler = 0;
            var lst = new List<double>();

            while (anzZahlen != zaehler)
            {
                Console.Write($"Bitte Zahl {++zaehler} eingeben: ");
                _ = double.TryParse(Console.ReadLine(), out var zahl);
                lst.Add(zahl);
            }

            Console.WriteLine($"Anzahl Zahlen: {lst.Count}");
            Console.WriteLine($"Mittelwert: {lst.Average()}");
            Console.WriteLine($"Min: {lst.Min()}");
            Console.WriteLine($"Max: {lst.Max()}");
            Console.WriteLine($"Produkt: {lst.Aggregate(1, (double x, double y) => x * y)}");
            Console.WriteLine($"Summe: {lst.Sum()}");
        }
    }
}

Kommentare:

Cara

Punkte: 500

50 Aufgaben

1 Kommentare

#1
04.05.2021 um 15:32 Uhr
Vielen Dank! Aber wofür sind die Dollar Zeichen?
post_arrow
697 0

JKooP

Punkte: 18090

680 Aufgaben
227 Lösungen
19 Kommentare

#2
05.05.2021 um 17:49 Uhr
Hallo,
man nennt diese Schreibweise "Interpolierte Ausgabe".
Der Vorteile liegen darin, dass man die Variable direkt in die geschweiften Klammern schreiben kann
und lange Formatierungs-Strings erspart bleiben. Dadurch wird die Übersichtlichkeit deutlich erhöht,
da man am Ende der "Formatierten Ausgabe" die Variablen nicht zusammensuchen muss.

Gegeben ist:
Quellcode ausblenden C#-Code
using System;
var a = 10;

Im 1. Beispiel ist der Vorteil marginal:
Quellcode ausblenden C#-Code
// Formatierte Ausgabe
Console.WriteLine("Der Wert ist {0}", a);

// Interpolierte Zeichenfolge
Console.WriteLine($"Der Wert ist {a}");

Im 2. Beispiel auch noch:
Quellcode ausblenden C#-Code
// Formatierte Ausgabe
Console.WriteLine("Der Wert ist {0:#.000}", a);

// Interpolierte Zeichenfolge
Console.WriteLine($"Der Wert ist {a:#.000}");

Das 3. Beispiel zeigt, dass wenn weitere Formatierungen hinzukommen, wie z.B. PadLeft,
der Vorteil durch die kürzere Schreibweise deutlich in der interpolierten Zeichenfolge liegt:
Quellcode ausblenden C#-Code
// Formatierte Ausgabe
Console.WriteLine("Der Wert ist " + a.ToString("#.000").PadLeft(10));

// Interpolierte Zeichenfolge
Console.WriteLine($"Der Wert ist {a,10:#.000}");


Gruß JKooP
post_arrow
698 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben