Перевести целие числа из деятичной системы счисления в систему счисления с любым другим основанием - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите. Сделал чтоб переводило из 10 в 1,2,3,4,5,6,7,8,9 .Вся проблема в том что я незнаю как поменять цифри например 11 на B ,12 на C итд.
#include <stdio.h>
#include <conio.h>
#define N 20
void convert(int n,int radix)
  { char a[N];
    char s[7]={'A','B','C','D','E','F'};
    int i,l=0;
   do
    {a[l++]=(char)(n%radix);
     n/=radix;
 }
    while (n!=0);
for (i=l-1; i>-1; i--)
  printf("%d",a[i]);
  puts("\n_______________________________");
  }
void main()
 { int i,n,k,t;
  puts("How many numbers to put");
  scanf("%d",&k);
   printf("Input %d integer numbers\n",k);
 for(i=0;i<k;i++)
  {scanf("%d",&n);
  puts("Convert 10 > ...");
  scanf("%d",&t);
  convert(n,t);
 
  }
    getch();
 }

Решение задачи: «Перевести целие числа из деятичной системы счисления в систему счисления с любым другим основанием»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define N 20
void convert(int n,int radix)
  { char a[N];
    char s[7]={'A','B','C','D','E','F'};
    int l=0;;
   do
    {  
    a[l++]=(char)(n%radix);
    switch (a[l++]){
       case 10:a[l++] =s[0];break;
       case 11:a[l++] =s[1];break;
       case 12:a[l++] =s[2];break;
       case 13:a[l++] =s[3];break;
       case 14:a[l++] =s[4];break;
       case 15:a[l++] =s[5];break;
         }
     n/=radix;}
    while (n!=0);
 
for (int i=l-1; i>-1; i--)
  printf("%d",a[i]);
  puts("\n<br>");
   }
void main()
 { int j,k,t,n;
 
  puts("How many numbers to put");
  scanf("%d",&k);
   printf("Input %d integer numbers\n",k);
 for(j=0;j<k;j++)
  {scanf("%d",&n);
  puts("Convert 10 > ...");
  scanf("%d",&t);
  convert(n,t);
  }
    getch();
 }

Объяснение кода листинга программы

Код выполняет перевод целых чисел из десятичной системы счисления в систему счисления с основанием, введенным пользователем. Список действий:

  1. Подключение необходимых библиотек.
  2. Объявление массивов для хранения чисел и их разрядов.
  3. Ввод количества чисел для обработки.
  4. Считывание чисел и их преобразование в другую систему счисления.
  5. Вывод результата.
  6. Получение обратной связи от пользователя (нажатие клавиши).

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы