请问用C语言编写一个十进制转换成二进制或八进制或十六进制的程序需要怎么打?
#includestdio.h
成都创新互联是一家专业提供崆峒企业网站建设,专注与成都做网站、网站建设、HTML5、小程序制作等业务。10年已为崆峒众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
voidmain()
{
//进制转换函数的声明
inttransfer(intx);
intx;
printf("请输入一个十进制数:");
scanf("%d",x);
printf("转换成二进制数是:%d\n",transfer(x));
}
inttransfer(intx)
{
intp=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x2)
{
y+=x*p;
break;
}
}
returny;
}
扩展资料
C语言:整数转换十六进制数和八进制
#includestdio.h
voidmain()
{
inti;
printf("请输入一个十进制数:");
scanf("%d",i);
printf("这个数转换为十六进制数:%x\n\n",i);
printf("这个数转换为八进制数:%o\n",i);
getch();
return0;
}
C语言中的各进制的转换方法
C++的,如果要TC的将中文改为English就行了
#includestdio.h
#includemath.h
void ten_two()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++)
{ //转换为二进制并存入数组
arr[i] = num % 2;
num = num / 2;
if(num == 0)
{
break;
}
}
printf("转换为二进制:"); //打印
for(; i = 0 ; i-- ){
printf("%d",arr[i]);
}
printf("\n");
}
void ten_eight()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++){//转换为八进制并存入数组
arr[i] = num % 8;
num = num / 8;
if(num == 0){
break;
}
}
printf("转换为八进制:"); //打印
for(; i = 0 ; i-- ){
printf("%d",arr[i]);
}
printf("\n");
}
void ten_sixteen()
{
int num, i;
int arr[20];
printf("请输入一个十进制数:");
scanf("%d",num);
for( i = 0 ; 1 ; i++){ //转换为二进制并存入数组
arr[i] = num % 16;
num = num / 16;
if(num == 0){
break;
}
}
printf("转换为十六进制:"); //打印
for(; i = 0 ; i-- ){
switch(arr[i]){
case 10 : printf("A");break;
case 11 :printf("B");break;
case 12 :printf("C");break;
case 13 :printf("D");break;
case 14 :printf("E");break;
case 15 :printf("F");break;
default :printf("%d",arr[i]);
}
}
printf("\n");
}
void two_ten()
{
long num;
int b,TheTen=0,Total=0;
printf("请输入一个二进制数(只包含0或1):");
scanf("%ld",num);
while(num)
{
b=num-(int)(num/10)*10;
TheTen+=b*pow(2,Total);;
Total++;
num=(int)(num/10);
}
printf("转换为十进制:"); //打印
printf("%d",TheTen);
printf("\n");
}
void eight_ten()
{
int num, i;
int arr[20];
printf("请输入一个八进制数(只由0~7之前的数组成):");
scanf("%o",num);
printf("转换为十进制:"); //打印
printf("%d",num);
printf("\n");
}
void sixteen_ten()
{
int num, i;
int arr[20];
printf("请输入一个十六进制数(只由0~9和A~F之前的数组成):");
scanf("%X",num);
printf("转换为十进制:"); //打印
printf("%d",num);
printf("\n");
}
void main()
{
int select;
do{
printf("0 - 退出,1 - 十进制转二进制,2 - 十进制转八进制,3 - 十进制转十六进制,4 - 二进制转十进制,5 - 八进制转十进制,6 - 十六进制转十进制\n");
scanf("%d",select);
switch(select){
case 1 : ten_two(); break; //十进制转二进制
case 2 : ten_eight(); break; //十进制转八进制
case 3 : ten_sixteen(); break; //十进制转十六进制
case 4 : two_ten(); break; //二进制转十进制
case 5 : eight_ten(); break; //八进制转十进制
case 6 : sixteen_ten(); break; //六十进制转十进制
default : printf("您的输入有误,请重新输入!"); break;
}
if(select == 0)
{break;}
}while(1);
}
C语言进制转换编程
#include stdio.h
int main()
{
int x,s,n=0;
printf("Please input a decimalism number:\n");
scanf("%d",x);
if(x8){
s=x/9;
n=x%9;
printf("%d%d",s,n);
}else{
printf("%d",x);
}
getch();
}
C语言编写一个函数将十进制转换
#includestdio.h
void P(int a,int n){
int i,p[30]={0};
p[0]=a;
for(i=1;i30;i++){
p[i]=p[i-1]/n;
p[i-1]%=n;}
for(i=29;i=0;i--)if(p[i]!=0)break;
for(;i=0;i--)printf("%d ",p[i]);}
int main(){
int a,n;
printf("输入一个整数\n");
scanf("%d",a);
printf("输入要转换的进制\n");
scanf("%d",n);
P(a,n);
return 0;}
C语言 将十进制整数化成任意进制的数
将任意进制的整数化成十进制整数
一、目的和要求
1.应用循环进行幂运算。
2.掌握其它进制的数化成十进制数的计算方法。
3.转换的结果正确。
二、实验内容
1.键盘上任意输入一个任意进制的整数及它的进制。
2.根据其它进制的数化成十进制数的计算方法,编写程序将其转换成十进
制的数。
三、算法
设输入的数为:a0a1a2…an
其进制为:base
则
mun=a0×basen-1+an-1×basen-2+…a1×base1+a0×base0
本文名称:十进制转9进制函数c语言,十进制转九进制c语言
网站网址:http://lswzjz.com/article/hesgog.html