提示:可以先将求得的n进制小数的每一位数存入一个数组中,然后再按符合要求的顺序输出。若不能精确转换,则保留16位小数。
#include
int main() { double n,t,m; int i,j,b,k,r; char a[100]; char c[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; scanf("%lf%d",&n,&r); t=n; for(i=0;i<16;i++) { m= t*r; b=(int) m; if(b>=10) a[i]=c[b-10]; else a[i]=b+'0'; t=(m-b*1.0); if(t==0) break; } printf("0."); for(i=0;i<16;i++) printf("%c",a[i]); printf("\n"); return 0; }`
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225694.html原文链接:https://javaforall.net
