This commit is contained in:
Daniel Zwanzig 2025-03-31 19:22:03 +02:00
parent c2772032d7
commit 16fb046f54

29
quersum.c Normal file
View File

@ -0,0 +1,29 @@
#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);
}