/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
char b(int n)//16进制数转换是16以内数的转换函数
{
if(n <= 9 && n >= 0)
{
return n + 48;
}
else if(n > 9 && n < 16)
{
return n + 55;
}
}
void fun(int n, int m)//进制转换函数
{
int i, j;
char s[100];
int p, q, temp;
if(m == 2 || m == 8 || m == 10)//2,8,10进制转换的算法
{
if(n == 0)
{
printf("0");
printf("\n");
}
else
{
p = n;
q = m;
for(i = 1;p >= 1;i++)
{
temp = p % q + 48;
s[i] = temp;
p = p / q;
}
for(j = i - 1;j > 0;j--)
{
printf("%c",s[j]);
}
printf("\n");
}
}
else if(m == 16)//单独计算16进制转换
{
if(n < 16)
{
printf("%c",b(n % 16));
printf("\n");
}
else
{
p = n;
q = m;
for(i = 1;p >= 1;i++)
{
temp = p % q;
s[i] = b(temp);
p = p / 16;
}
for(j = i - 1;j > 0;j--)
{
printf("%c",s[j]);
}
printf("\n");
}
}
}
int main()
{
int n, m;
printf("请输入一个整数:");
scanf("%d",&n);
printf("请输入要转化为多少进制输出:");
scanf("%d",&m);
fun(n,m);
return 0;
}
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
char b(int n)//16进制数转换是16以内数的转换函数
{
if(n <= 9 && n >= 0)
{
return n + 48;
}
else if(n > 9 && n < 16)
{
return n + 55;
}
}
void fun(int n, int m)//进制转换函数
{
int i, j;
char s[100];
int p, q, temp;
if(m == 2 || m == 8 || m == 10)//2,8,10进制转换的算法
{
if(n == 0)
{
printf("0");
printf("\n");
}
else
{
p = n;
q = m;
for(i = 1;p >= 1;i++)
{
temp = p % q + 48;
s[i] = temp;
p = p / q;
}
for(j = i - 1;j > 0;j--)
{
printf("%c",s[j]);
}
printf("\n");
}
}
else if(m == 16)//单独计算16进制转换
{
if(n < 16)
{
printf("%c",b(n % 16));
printf("\n");
}
else
{
p = n;
q = m;
for(i = 1;p >= 1;i++)
{
temp = p % q;
s[i] = b(temp);
p = p / 16;
}
for(j = i - 1;j > 0;j--)
{
printf("%c",s[j]);
}
printf("\n");
}
}
}
int main()
{
int n, m;
printf("请输入一个整数:");
scanf("%d",&n);
printf("请输入要转化为多少进制输出:");
scanf("%d",&m);
fun(n,m);
return 0;
}