Informatik2/Quersumme.c

48 lines
1.0 KiB
C

#include <stdio.h>
int umdrehen(int zahl, int umgekehrt) {
if (zahl == 0) {
return umgekehrt;
}
return umdrehen(zahl / 10, umgekehrt * 10 + (zahl % 10));
}
int quersumme(int zahl) {
int result;
int temp;
if(zahl<10) {
return zahl;
}
temp = zahl%10;
result = temp + quersumme(zahl / 10);
return result;
}
int input() {
int eingabe;
int ok = 0;
char c;
printf("Gib eine Zahl ein: ");
ok = scanf("%d%c", &eingabe, &c);
while (ok != 2 || c != '\n') {
ok = scanf("%d%c", &eingabe, &c);
while ((c = getchar()) != '\n' && c != EOF) {}
printf("Ungueltige Eingabe!\n");
}
return eingabe;
}
int main() {
int eingabe, ergebnisQuer, ergebnisGedreht;
eingabe = input();
ergebnisQuer = quersumme(eingabe);
ergebnisGedreht = umdrehen(eingabe, 0);
printf("----Quersumme: %d\n", ergebnisQuer);
printf ("----Umgedreht: %d\n", ergebnisGedreht);
return 0;
}