30 lines
964 B
C
30 lines
964 B
C
#include <stdio.h>
|
|
|
|
int quersum(int zahl, int qsumme) {
|
|
|
|
if (zahl != 0) {
|
|
qsumme += zahl % 10;//Nimm die rechteste Zahl als einzelne Zahl und addiert auf qsumme
|
|
zahl = zahl / 10;//verschiebt Komma einmal nach links damit nächste Zahl auf qsumme addiert werden kann
|
|
quersum(zahl, qsumme);
|
|
} else
|
|
return qsumme;
|
|
}
|
|
|
|
void reverse(int zahl) {
|
|
if (zahl != 0) { //Abbruchbedingung
|
|
printf("%d", zahl % 10); //Nimmt die letzte Ziffer und gibt sie aus.
|
|
reverse(zahl /10); //Rekursion: Teilt duch 10, damit die vorletzte Ziffer der Ursprungszahl die neue letzt Ziffer wird
|
|
}
|
|
}
|
|
|
|
int main(void) {
|
|
int eingabe = 0;
|
|
int qsumme = 0;
|
|
|
|
printf("Gib eine Zahl ein:");
|
|
scanf("%d", &eingabe);
|
|
printf("----Quersumme: %d\n",quersum(eingabe, qsumme)); //da Funktion einen Return Wert hat wird sie hier aufgerufen
|
|
printf("----umgedreht: ");
|
|
reverse(eingabe);
|
|
}
|