using System;

public class MyProgram
{
    public static void Main(string[] args)
    {

        // Für die Zahl, von der die Quersumme berechnet, werden soll, wird die Variable zahl deklariert.
        int zahl;
        
        // Für das Ergebnis und Zwischenwerte der Quersumme wird die Variable quersumme deklariert.
        int quersumme;
        
        // Die Variable r ist eine Hilfsvariable, die dazu dient, die einzelnen Ziffern der mehrstelligen Zahl zwischenzuspeichern.
        int r;
        
        // Eine Zahl, die kleiner als 10 ist, entspricht bereits ihrer Quersumme. Zum Beispiel die Zahl 5 hat die Quersumme 5. Daher wird hier nach einer Zahl gefragt, die größer als 10 ist.
        Console.WriteLine("Geben Sie ein Zahl, die größer als 10 ist, ein: ");
        zahl = (int) inputValue();
        
        // Es ist auch möglich, Quersummen von negativen Zahlen zu berechnen.  Dazu wird hier die boolesche Variable negativ deklariert und mit dem Wert false initialisiert.
        bool negativ;
        
        negativ = false;
        
        // In der Fallunterscheidung wird geprüft, ob die eingegebene Zahl kleiner als 0 ist, falls ja, wird der Wert der Variable negativ auf true gesetzt und die eingegebene Zahl mit -1 multipliziert. Die Zahl ist dann positiv, nach der Berechnung der Quersumme wird das Ergebnis später wieder mit -1 multipliziert.
        if (zahl < 0)
        {
            negativ = true;
            zahl = (int) (zahl * -1);
        }
        if (zahl > 10)
        {
            quersumme = 0;
            while (zahl > 0)
            {
                
                // Mithilfe der Modulo Funktion (MOD) kann die letzte Stelle der Zahl abgeschnitten werden.
                r = zahl % 10;
                
                // Die Zahl wird jetzt durch 10 geteilt.
                zahl = (int) ((double) zahl / 10);
                quersumme = quersumme + r;
            }
        }
        else
        {
            
            // Wenn die Zahl kleiner als 10 ist, entspricht die Zahl der Quersumme. Daher ist keine weitere  Rechnung nötig.
            quersumme = zahl;
        }
        Console.WriteLine("Die Quersumme der gebenen Zahl ist: ");
        
        // Hier wird geprüft, ob die ursprünglich Zahl negativ war, falls ja, wird die berechnete Quersumme mit -1 multipliziert.
        if (negativ)
        {
            quersumme = (int) (quersumme * -1);
        }
        Console.WriteLine(quersumme);
    }
    
    // .NET kann nur einzelne Zeichen oder ganze Zeilen aus der  Konsole lesen. 
    // Die folgende Funktion löst das Problem.
    private static double inputValue()
    {
        double result;
        while (!double.TryParse(Console.ReadLine(), out result));
        return result;
    }
}
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz