码迷,mamicode.com
首页 > 编程语言 > 详细

十进制转化为其他进制(C语言)

时间:2015-05-14 12:06:54      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
int a[1000];
int k=0;
void change(int x,int r){
    while (x)
    {
        a[k++]=x%r;
        x=x/r;
    }
}
int main(){
    int x,r,i;
    printf("输入一个十进制数:\n");  
    scanf("%d",&x); 
    printf("输入你要转化成的十进制以内进制大小:\n"); 
    scanf("%d",&r); 
    change(x,r);
    for ( i = k-1; i >=0; i--)
    {
        printf("%d",a[i]);
    }
    return 0;
}
/*#include<stdio.h>
#include<string.h>
void TentoAny(int number,char *str,int digits)
{       int i=0;    
if(digits>16||digits<2)//非2~16进制则直接退出  
return ;    
while(number)   
{   
switch(number%digits){ //根据余数的情况做相应处理       
case 15:        
str[i++]=‘F‘;   
break;      
case 14:        
str[i++]=‘E‘;   
break;      
case 13:    

str[i++]=‘D‘;   
break;        
case 12:         
str[i++]=‘C‘;   
break;      
case 11:        
str[i++]=‘B‘;   
break;       
case 10:             
str[i++]=‘A‘;   
break;      
default:        
str[i++]=number%digits+‘0‘; 
break;  
}       
number=number/digits;   
}   
str[i]=‘\0‘;    
strrev(str);//strrev函数定义在string.h中的,是对字符串做逆序处理的函数   //这里需要逆序的原因是因为得到的结果为该进制的逆序
}
int main(){     
int number,i;
char str[80];
printf("输入一个十进制数:");    
scanf("%d",&number);    
printf("\n---------2到16进制对应关系----------\n");
for(i=2;i<=16;i++)  {   
TentoAny(number,str,i); 
printf("%d转换为%d进制为:%s\n",number,i,str);
}   
return 0;
}*/

十进制转化为其他进制(C语言)

标签:

原文地址:http://blog.csdn.net/a819721810/article/details/45718103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!