经典c程序(0023)---十进制转R进制(1<R<=16)

来源:互联网 发布:2015年十大网络用语 编辑:程序博客网 时间:2024/05/20 18:01
/*************************************************************************************** Function     : test* Create Date  : 2014/04/19* Author       : NTSK13* Email        : beijiwei@qq.com* Copyright    : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。                                              任何单位和个人不经本人允许不得用于商业用途* Version      : V0.1***************************************************************************************  经典c程序(0023)题目:给出一个十进制数,输出它的R进制数(1<R<=16)**************************************************************************************/#include<stdio.h>#define MY_FUNC  1#if MY_FUNCvoid convert_10_to_r(char * string, int decimal,int r);int main(){    int i=0;    int m=0;    char target[20]="\0";printf("The input a decimal number : \n");fflush(stdout);//修复Eclipse printf()不能显示的小bugscanf("%d",&m);convert_10_to_r(target,m,8);while(target[i]!='\0'){printf("%c",target[i]);fflush(stdout);//修复Eclipse printf()不能显示的小bugi++;}return 0;}void convert_10_to_r(char *string,int decimal,int r){char bit[16]={"0123456789ABCDEF"};int i=0,len=0;int tmp_decimal=decimal;len=1;while(tmp_decimal/r !=0)//get length of R{len++;tmp_decimal=tmp_decimal/r;}for(i=0;i<len;i++)    //get  R    {    *(string+len-1-i)=bit[decimal%r];    decimal=decimal/r;    }}#elseint main(){int i=0,j=0,k=0;printf("\n");return 0;}#endif


0 0
原创粉丝点击