/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
copyright (C), 2014-2015, Lighting Studio. Co., Ltd.
File name:
Author:Jerey_Jobs Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
int fun2(int num);
int fun16(int num);
int fun8(int num);
int fun16(int num);
int fun8(int num);
int main()
{
int num,kind; //定义变量num取用户输入整数,kind取用户需要变换的进制
{
int num,kind; //定义变量num取用户输入整数,kind取用户需要变换的进制
printf("Enter the number : \n"); //提示用户输入
scanf("%d",&num);
printf("what kind of number do you want to change(2 or 16 or 8) :\n");
scanf("%d",&kind);
scanf("%d",&num);
printf("what kind of number do you want to change(2 or 16 or 8) :\n");
scanf("%d",&kind);
if(kind == 2) //根据用户需求进行变换
{
fun2(num);
}
else if(kind == 16)
{
fun16(num);
}
else if(kind == 8)
{
fun8(num);
}
else //当用户输入不正确时,给出报错信息
{
printf("error!\n");
}
return 0;
}
{
fun2(num);
}
else if(kind == 16)
{
fun16(num);
}
else if(kind == 8)
{
fun8(num);
}
else //当用户输入不正确时,给出报错信息
{
printf("error!\n");
}
return 0;
}
int fun2(int num) //二进制转换
{
int s[32] = {0};
int i,n = 0;
while(num != 0)
{
s[n++] = num % 2;
num = num / 2;
}
printf("二进制数为 :");
for(i = n - 1;i >= 0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
int fun16(int num) //十六进制转换
{
int s[32] = {0};
int i,n = 0;
while(num != 0)
{
s[n++] = num % 16;
num = num / 16;
}
printf("十六进制数为 :");
for(i = n - 1;i >= 0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
{
int s[32] = {0};
int i,n = 0;
while(num != 0)
{
s[n++] = num % 16;
num = num / 16;
}
printf("十六进制数为 :");
for(i = n - 1;i >= 0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
int fun8(int num) //八进制转换
{
int s[32] = {0};
int i,n = 0;
while(num != 0)
{
s[n++] = num % 8;
num = num / 8;
}
printf("八进制数为 :");
for(i = n - 1;i >= 0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}
{
int s[32] = {0};
int i,n = 0;
while(num != 0)
{
s[n++] = num % 8;
num = num / 8;
}
printf("八进制数为 :");
for(i = n - 1;i >= 0;i--)
{
printf("%d",s[i]);
}
printf("\n");
return 0;
}