halo
This commit is contained in:
parent
8354212d4f
commit
d1aba291b9
35
quersum.c
35
quersum.c
@ -1,5 +1,19 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Funktion zur Berechnung der Quersumme rekursiv
|
||||||
|
int quersumme(int n) {
|
||||||
|
if (n == 0)
|
||||||
|
return 0;
|
||||||
|
return (n % 10) + quersumme(n / 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funktion zum Umkehren einer Zahl rekursiv
|
||||||
|
int umkehren(int n, int reversed) {
|
||||||
|
if (n == 0)
|
||||||
|
return reversed;
|
||||||
|
return umkehren(n / 10, reversed * 10 + n % 10);
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
int number;
|
int number;
|
||||||
int validInput = 0;
|
int validInput = 0;
|
||||||
@ -7,28 +21,15 @@ int main() {
|
|||||||
while (!validInput) {
|
while (!validInput) {
|
||||||
printf("Bitte geben Sie eine Zahl ein: ");
|
printf("Bitte geben Sie eine Zahl ein: ");
|
||||||
if (scanf("%d", &number) != 1) {
|
if (scanf("%d", &number) != 1) {
|
||||||
printf("Ungültige Eingabe. Bitte geben Sie eine gültige Zahl ein.\n");
|
printf("Ungueltige Eingabe. Bitte geben Sie eine gueltige Zahl ein.\n");
|
||||||
while (getchar() != '\n'); // Eingabepuffer leeren
|
while (getchar() != '\n');
|
||||||
} else {
|
} else {
|
||||||
validInput = 1;
|
validInput = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Quersumme berechnen
|
int sum = quersumme(number);
|
||||||
int sum = 0;
|
int reversed = umkehren(number, 0);
|
||||||
int temp = number; // 432
|
|
||||||
while (temp != 0) {
|
|
||||||
sum += temp % 10; // 432 43 4
|
|
||||||
temp /= 10; // 43 4 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Zahl umkehren
|
|
||||||
int reversed = 0;
|
|
||||||
temp = number; // 432
|
|
||||||
while (temp != 0) {
|
|
||||||
reversed = reversed * 10 + temp % 10; // 432 43 4
|
|
||||||
temp /= 10; // 43 4 0
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("Die Quersumme der eingegebenen Zahl ist: %d\n", sum);
|
printf("Die Quersumme der eingegebenen Zahl ist: %d\n", sum);
|
||||||
printf("Die umgekehrte Zahl ist: %d\n", reversed);
|
printf("Die umgekehrte Zahl ist: %d\n", reversed);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user