#include "stdafx.h"#include <stdio.h>
char *conv_base(long number, int base);
int main()
{
int base;
long number;
char yn;
do
{
do
{
printf("\n\nEnter an integer number : ");
scanf_s("%ld", &number);
} while (number < 1);
do
{
printf("\nEnter the base (2-16) : ");
scanf_s("%d", &base);
} while (base < 2 || base > 16);
printf("\nThe converted number is : %s", conv_base(number, base));
printf("\n\n Any more (y/n) : ");
getchar();
yn = getchar();
} while (!(yn == 'n' || yn == 'N'));
return 0;
}
char *conv_base(long number, int base)
{
long remain;
int n = 0, k = 0;
static char temp[32], result[32];
static char *digit = "0123456789ABCDEF";
do
{
remain = number % base;
number = number / base;
temp[k++] = digit[remain];
} while (number > 0);
while (k >= 0)
{
result[n++] = temp[--k];
}
result[n - 1] = 0;
return (result);
}