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