«Алгоритм Примечания» Раздел 3.5 - Начало работы аналогово -> шестнадцатеричный преобразования
название C
Этот процесс LONGLONG взрывного диапазона, то необходимо использовать строку, то аналоговое деление вручную, после короткого обратный выхода делителя
анс определяется снаружи, а не внутри пустого в функции
Если 0 возвращен непосредственно, то определяется, что условия должны знать, что только передняя часть 0 не входит, последний, как правило, включены в результаты
#include < строка .h> #include <stdio.h> INT анс [ 1000 ]; INT countnum = 0 ; INT changenum ( символ с) { вернуть c- ' 0 ' ; } Символ changechar ( INT Num) { возвращение Num + ' 0 ' ; } Недействительной changetwo ( символ предварительно []) { INT Len = StrLen (предварительно); // Е ( "Len:% d \ п", длина); если(Len == 0 ) возврата ; символ шанг [ 1000 ]; // MemSet (ANS, 0, SizeOf (ANS)); MemSet (Shang, 0 , SizeOf (Shang)); // INT Темп = changenum (предварительно [0]) * 10; INT кол = 0 ; INT Темп = 0 ; для ( INT I = 0 ; я <= len- 1 ; я ++ ) { // Е ( "я =:% D", я); Темп = темп + changenum (предварительно [I]); // Е ( "температура:% d \ п", температура); если (температура / 2 ! = 0 ! || кол = 0 ) шанг [число ++] = changechar (TEMP / 2 ); Темп = Temp% 2 ; Темп = темп * 10 ; // Е ( "cichu:% d \ п", температура); } // Е ( "Ответ:% d \ п", темп / 10); // Е ( "га \ п"); ANS [countnum ++] = TEMP / 10 ; changetwo (Shang); } INT основных () { символ предварительно [ 100 ]; в то время как (зсапЕ ( " % s ", пред) =! EOF) { MemSet (анс, 0 , SizeOf (ANS)); countnum = 0 ; changetwo (предварительно); GetChar (); для ( INT I = countnum- 1 ; я> = 0 ; i-- ) Е ( " % d " , ANS [I]); Е ( " \ п " ); } Возвращает 0 ; }