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()}");
}
}
}