永发信息网

从K进制转换成T进制.

答案:3  悬赏:70  手机版
解决时间 2021-04-07 10:30
从K进制转换成T进制.
最佳答案
本来想写一个,时间问题,网上找了一个

#include  
#include 
#include  
void dtox(double num,int jz) 

char xnum[100];  
int dnum=(int) num; 
int i=0,j=0,e = 0; 
while(dnum>=jz)  
{   
xnum[j++]=dnum%jz+48;
dnum=dnum/jz;   
}   
xnum[j] = dnum+48; 
for(i = j;i>=0;i--)

printf("%c",xnum[i]); 
}  
if(dnum - num != 0)

printf("."); 
num = num - (int)num;  
do  
{   
e++; 
printf("%c",(int)(num*jz)+48); 
num = num*jz-(int)(num*jz); 
if(num == 0)break;  
}   
while(e<20); 
}  

 double xtod(char num[],int jz)
 { 
 double dnum = 0;  
 int i,j,k=0,n=0,b;  
 for(i=0;;i++) 
 {   
 if(num[i]=='')break;  
 else 
 n++;  
 if(num[i]=='.')
 {
 j=i;k=1;
 }  
 }  
 for(i=j-1;i>=0;i--) 
 {  
 dnum =dnum + (double)(num[j-i-1]-48)*pow(jz,i); 
 } 
 if(k==1) 
 {   
 for(i=j+1;i  {     
 if(num[i]=='A') b=10;   
 else if(num[i]=='B') b=11;
             else if(num[i]=='C') b=12;   
 else if(num[i]=='D') b=13;   
 else if(num[i]=='E') b=14;   
 else if(num[i]=='F') b=15;  
 else b=num[i]-'0';  
 dnum=dnum+b*pow(jz,-(i-j)); 
 }   
 } 
 return dnum; 
    } 
 void main() 
 { 
 char num[100]; 
 double dnum;  
 int jz1,jz2; 
 printf("intput one data");
 scanf("%s",num);    
 printf("输入数为几进制"); 
 scanf("%d",&jz1);  
 printf("转换为几进制"); 
 scanf("%d",&jz2);    
 dtox(xtod(num,jz1),jz2); 
 }追问你就写一个呗追答你在挑战我吗?
好,我接受你的挑战
#include "stdio.h"
#include "math.h"

void main()
{
int a,b,x,y;              //这个不多说
int i=0;                  //标记a的位数,后面用来辅助循环
int w;                    //和i一起辅助循环
int s=0;                  //把a转换成10进制
int c;                    //取单个数


printf("A(x)-->B(y)
");
printf("A=");             //输入A,x,y
scanf("%d",&a);
printf("(x)=");
scanf("%d",&x);
printf("(y)=");
scanf("%d",&y);
c=a;
while (1)                 //用循环计算A的位数
{
c/=10;
if (c!=0)
i++;
else
{
i++;
break;
}
}                         //现在i是a的位数
for (w=1;w<=i;w++)        //把a换成10进制
{
c=int(a/pow(10,w-1))%10;
s=s+c*pow(10,w-1);
}                         //完成
c=s;
b=0;
for (w=1;c>=y;w++)        //换y进制
{
i=c%y;                //i是余数
c=int(c/y);           //记录
b=b+i*pow(10,w-1);
}
b=b+i*pow(10,w-1);        //还差一次
printf("B=%d
",b);       //完成
} 给分给分
全部回答
楼上的能给个高精么
cin>>num>>K>>T;
int H_num=K*num;
double T_num=H_num/T;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男人心里没有你,他会经常陪伴你吗?
个人要是组织旅游团的话是不是要从旅行社拿门
黄钻8要多少成长值
尿蛋白2和尿隐血2就一定是肾炎吗?
一张长12分米,宽7.5分米的长方形纸最多可剪
老婆和莫生男人聊什么话题能十多天爱上男网友
古曼堂圣物大概多久会有效果?
陶喆的不在乎爱情里什么什么的,是哪手歌
我就前几天从QQ农场里的池塘捞了鱼就再也养不
一百分之二十三米等于多少厘米
电信宽带送无限流量卡真的无限流量吗,会不会
后背总是麻麻的?为什么?
海尔kfrd-23gw/z1 铜管型号
女朋友离开人世,四天了.你在上面过的还好吗?
填上合适的质量单位.?????????????150______
推荐资讯
求丘比龙那个组合的 出现下卖个萌就这么简单
这算不算降职使用?
男生第二性征和身高到底有关系没
用煤球不好把握火候,怎样炖出白色好喝的大骨
这四个美女,你们最想要哪一个?
台湾人经常吃橙姑娘梅精吗
我一比较好的朋友,男的。问我,如果你身边的
每天干装卸饲料100吨行吗
包含“梦想”这个词有哪些格言?
华润万家(洪泽中兴名都社区店)地址在哪,我要
判断:一个数乘以20分之1,这个数就缩小了20
我在地铁上被人抹后在厕所被他干
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?