Цикл For на C: Упражнение 41 с решением
Напишите программу на C для преобразования десятичного числа в двоичное без использования массива.
Графическая презентация:
Пример решения:
Код C:
#include # включить char * decimal_to_binary (int); char * decimal_to_binary (int dn) {int i, j, temp; char * ptr; темп = 0; ptr = (char *) malloc (32 + 1); for (i = 31; i> = 0; i--) {j = dn >> i; если (j & 1) * (ptr + temp) = 1 + '0'; иначе * (ptr + temp) = 0 + '0'; temp ++; } * (ptr + temp) = ' 0'; return ptr;} int main () {int dn; char * ptr; printf ("Введите десятичное число:"); scanf ("% d", & dn); ptr = десятичное_то_двоичное (dn); printf ("Двоичное число, эквивалентное указанному десятичному числу:% s", ptr); бесплатно (птр); return 0;}
Пример вывода:
Введите десятичное число: 25 Двоичное число, эквивалентное указанному десятичному числу: 00000000000000000000000000011001 ------ -------------------------- Процесс завершен через 3,388 секунды с возвращаемым значением 0 Для продолжения нажмите любую клавишу. . .
Введите десятичное число: 105 Двоичное число, эквивалентное указанному десятичному числу: 00000000000000000000000001101001 ------------------------- ------- Процесс завершен через 5,013 секунды с возвращаемым значением 0 Для продолжения нажмите любую клавишу. . .
Введите десятичное число: 1105 Двоичное число, эквивалентное указанному десятичному числу: 00000000000000000000010001010001 ------------------------- ------- Процесс завершен через 17,33 секунды с возвращаемым значением 0 Для продолжения нажмите любую кнопку. . .
Блок-схема:
Редактор кода программирования C: