Перевести числа из одной системы счисления в другую - C (СИ)
Формулировка задачи:
Позиционные системы счисления
Напишите программу, которая умеет переводить числа из одной системы счисления в другую.
_______________________________________________________________
На входе
В первой строке указаны два целых числа, B и C, которые определяют основания систем счисления для перевода (исходную и финальную), 2 ≤ B,C ≤ 36. Вторая строка является представлением целого числа A в исходной системе счисления с основанием B (0 ≤ A ≤ 109). В качестве знаков используются десятичные цифры от 0 до 9 и, при необходимости, заглавные латинские буквы от A до Z со стандартными значениями от 10 до 35._______________________________________________________________
На выходе
Строка из цифр от 0 до 9 и, при необходимости, заглавных латинских букв от A до Z, задающая представление числа A в финальной системе счисления с основанием C._______________________________________________________________
Пример№1
На входе
10 2 12На выходе
1100_______________________________________________________________
Пример №2
На входе
16 8 A53FНа выходе
122477Решение задачи: «Перевести числа из одной системы счисления в другую»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { int A, B, C; char s[20], *p, i; scanf("%i%i", &B, &C); scanf("%s", s); for (A = 0, p = s; *p; p++) { if ('0' <= *p && *p <= '9') i = *p - '0'; else if ('A' <= *p && *p <= 'Z') i = *p - 'A' + 10; else i = 0; A = B*A + i; } _itoa(A, s, C); printf("%s\n", s); _getch(); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с функциями ввода-вывода и строками
- Определяем функцию main, в которой будут выполняться все действия программы
- Объявляем переменные A, B, C типа int для хранения чисел, а также переменную s типа char для хранения строки
- С помощью функции scanf считываем два числа (B и C) и строку (s)
- Используя цикл for, перебираем каждый символ в строке s
- Проверяем, является ли текущий символ числом (от '0' до '9') или буквой (от 'A' до 'Z')
- Если символ является числом, то преобразуем его в числовое значение и добавляем к переменной A
- Если символ является буквой, то преобразуем его в числовое значение (от 'A' до 'Z' соответствуют числам от 10 до 35) и добавляем к переменной A
- После обработки всех символов, преобразуем значение переменной A в строку с помощью функции _itoa
- Выводим полученную строку на экран
- Ждем нажатия клавиши с помощью функции _getch
- Завершаем программу с кодом 0, указывающим на успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д