Veröffentlicht 20. Oktober 200618 j Halli hallo Kurze Frage, steh grade bissle aufm Schlauch.... Wie kann ich in C die letzte Ziffer einer Zahl unterschiedlichen Typs bestimmen. also unsigned long zahl1 = 312423 --> 3 unsigned int zahl 2 = 12345 --> 5 Danke schonmal Gruss
20. Oktober 200618 j Hallo, Quick'n'Dirty: sprintf(str,"%d",zahl); ziffer=str[strlen(str)-1]; printf("%d\n",ziffer-'0'); [/php] Nic
23. Oktober 200618 j gleiche lösung, nur umständlicher ^^ int blubb = 1234567; int b2; b2 = blubb/10; printf("--> %d\n", blubb - (b2*10)); [/PHP]
23. Oktober 200618 j Danke, hilft mir enorm weiter Aber noch ne Frage, was ist wenn ich die zweitletzte Ziffer möchte ? oder die erste Ziffer ? oder die Anzahl der Ziffern ? da komme ich mit dem mod Operator nicht arg weit.... danke
23. Oktober 200618 j was ist wenn ich die zweitletzte Ziffer möchte ? oder die erste Ziffer ? oder die Anzahl der Ziffern ? da komme ich mit dem mod Operator nicht arg weit....Aber mit der sprintf-Variante von nic_power.
24. Oktober 200618 j Dann kombiniert man die 2 Operatoren Div (/ in C) und Mod (% in C) Div=Ganzzahlige Division (Division ohne Rest), Modulo berechnet den Rest einer Division 2. letzte Stelle einer Zahl -> (Zahl/10)%10 1. Stelle einer Zahl: solange Zahl/10>0 mache zahl=zahl/10
25. Oktober 200618 j Oder so ohne Strings: #include "math.h" int zahl = 4321; float stelle = 2; zahl = fabs(fmod(zahl/pow(10,stelle-1),10)); [/PHP]
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.