C# :: Aufgabe #107
4 Lösungen

Quersummen Berechnung
Anfänger - C#
von mattthias
- 18.08.2015 um 09:49 Uhr
Teil1. Schreibe ein Konsolenprogramm, welches die Quersummen der Zahlen 0 bis 99 errechnet.
Zusatz: Schreibe ein Programm, welches eine Eingabe annimmt, und aus der eingegebenen Zahl die Quersumme errechnet
(Mindestens bis 100.000).
*Das Programm muss sauber formatiert sein
*Verwende Kommentare zum besseren Verständnis und / oder halte deinen Fortschritt damit fest
Hinweise und Anregungen:
- Teil 1 darf auf den Fall bezogen programmiert werden. Aber:Ist das notwendig?
- Vergiss das Semikolon nicht
- Wie kann ich die Konsole offen lassen, bis ich Enter drücke? Alternativ: Wie könnte ich die Konsole über einen bestimmten
Zeitraum das Ergebnis anzeigen lassen?
Zusatz: Schreibe ein Programm, welches eine Eingabe annimmt, und aus der eingegebenen Zahl die Quersumme errechnet
(Mindestens bis 100.000).
*Das Programm muss sauber formatiert sein
*Verwende Kommentare zum besseren Verständnis und / oder halte deinen Fortschritt damit fest
Hinweise und Anregungen:
- Teil 1 darf auf den Fall bezogen programmiert werden. Aber:Ist das notwendig?
- Vergiss das Semikolon nicht
- Wie kann ich die Konsole offen lassen, bis ich Enter drücke? Alternativ: Wie könnte ich die Konsole über einen bestimmten
Zeitraum das Ergebnis anzeigen lassen?
Lösungen:

using System; namespace trainYourProgrammer { class MainClass { static int DigitSum(int n) { int result = 0; while (n > 0) { result += n % 10; //letzte Ziffer zum Ergebnis addieren n /= 10; //letzte Ziffer von Zahl entfernen } return result; } static void Main(string[] args) { for (int i = 1; i < 100; i++) { Console.WriteLine ("Quersumme von " + i.ToString("D2") + ": " + DigitSum(i)); } Console.Write ("Zahl eingeben: "); int n = int.Parse (Console.ReadLine ()); Console.WriteLine ("Quersumme von " + n + ": " + DigitSum(n)); } } }

using System; namespace Quersumme { class Program { static void Main() { Console.Write("Zahl>"); try { Console.WriteLine("Quersumme: {0}", Quersumme(Convert.ToUInt64(Console.ReadLine()))); } catch { Console.WriteLine("Eingaben nur von {0} - {1}", ulong.MinValue, ulong.MaxValue); } Console.ReadKey(true); } static int Quersumme(ulong zahl) { const int DEC = 10; ulong quersumme = 0; while(zahl > 0) { ulong digit = zahl % DEC; zahl = (zahl - digit) / DEC; quersumme += digit; } return (int)quersumme; } } }

using System; namespace ChecksumCalculator { internal class Program { private static void Main(string[] args) { Console.Write("Bitte geben Sie eine Ganzzahl zur Berechnung der Quersumme ein: "); long inputNumber = long.Parse(Console.ReadLine()); Console.WriteLine("Die Quersumme beträgt {0}.", GetDigitSum(inputNumber)); Console.Read(); } private static long GetDigitSum(long n) { long result = 0; while (n > 0) { result += n % 10; n /= 10; } return result; } } }

using System; using System.Linq; using System.Text.RegularExpressions; namespace CS_Aufgabe_107_Quersumme { class Program { static void Main() { Console.Write("Bitte Zahl eingeben: "); var number = Console.ReadLine(); if(new Regex(@"\b\d+\b").IsMatch(number)) Console.WriteLine($"Quersumme: {number.ToString().Select(x => char.GetNumericValue(x)).Sum()}"); } } }