22.5.2
This commit is contained in:
parent
c2772032d7
commit
16fb046f54
29
quersum.c
Normal file
29
quersum.c
Normal 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);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user