# include // // Program 7.7, Stephen Kochan, Programming in C. // int main ( void ) { const char baseDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; int convertedNumber[64]; long int numberToConvert; int nextDigit, base, index = 0; // Get the number, and the base, from the user. printf ( "Enter the number to be converted: " ); scanf ( "%ld", &numberToConvert ); printf ( "Enter the base: " ); scanf ( "%i", &base ); // Convert number from decimal to indicated base. do { convertedNumber[index] = numberToConvert % base; ++index; numberToConvert = numberToConvert / base; } while ( numberToConvert != 0 ); // Display the results in reverse order. printf ( "Converted number = " ); for ( --index; 0 <= index; --index ) { nextDigit = convertedNumber[index]; printf ( "%c", baseDigits[nextDigit] ); } printf ( "\n" ); return 0; }