万能转换

2022-08-17 17:38:13   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《万能转换》,欢迎阅读!
万能,转换

#include<stdio.h>

#include<math.h>

int main()

{ int r=0;

while(r==0){

int m=0,n=0,q=0,i=0,j=0,k=0,t1,t2,s=0,l=0,q2=0;

int b[100],c[100],d[100],shuru[100],bt[100];

float sum=0,shuchuc[100],y,ct[100],sum2;

printf("\n");

//任意进制转换成10进制

printf("输入进制j数字:");

scanf("%d",&j);

printf("输入%d进制数字整数位数t1:",j);

scanf("%d",&t1);

printf("输入%d进制小数位数t2:",j);//小数位数t

scanf("%d",&t2);

for(i=0;i<t1;i++)

{printf("输入整数部分的第%d位数字",i+1);//输入J进制数字的整数部分

scanf("%d",&b[i]);

k=i+1;}

for(i=0;i<t2;i++)//依次输入每一位小数

{printf("输入第%d位小数",i+1);

scanf("%d",&shuru[i]);

}

for(i=0;i<t1;i++) //打印j进制 数字的整数部分

{

printf("%d ",b[i]);

}

printf(". ");

for(i=0;i<t2;i++) //打印j进制数字的小数部分

{

printf("%d ",shuru[i]);

}

printf("\n");

for(i=0;i<t1;i++)//整数的每一位对应的数字

{

c[i]=b[i]*pow(j,k-1);

k=k-1;

}

printf("%d进制数字整数部分每一位所对应的十进制数字:\n",j);

for(i=0;i<t1;i++) //打印j进制数字每一位所对应的十进制 数字

{

printf("%d ",c[i]);

}

for(i=0;i<t1;i++)

{ s=s+c[i];

} printf("\n");

printf("%d进制数字对应的十进制数字为:%d\n",j,s);

for(i=0;i<t2;i++) //分别将每一位j进制转换成10进制

{ q=i+1;

shuchuc[i]=shuru[i]*pow(j,-q);

}

printf("\n");

printf("%d进制数字每一位所对应的十进制数字:\n",j); //打印j进制数字每一位所对应的十进制 数字

for(i=0;i<t2;i++)

{

printf("%f ",shuchuc[i]);

}

for(i=0;i<t2;i++)

{ sum=sum+shuchuc[i];

} printf("\n");

printf("%d进制数字对应的十进制数字为:%f\n",j,sum);

// printf("你输入的%d进制数字是:%f\n",(s+sum));

//任意进制转换

printf("输入转换进制数字n:");

scanf("%d",&n);

while(s!=0)

{

for(i=0;fabs(s)>0;i++)

{

d[i]=(s%n);

s=s/n;

l=l+1;//记录循环次数

}

}printf("\n");

printf("%d",l); printf("\n"); //显示循环次数

printf("注释:%d进制整数部分转换为%d进制数为:",j,n);printf("\n");

for(i=(l-1);i>=0;i--)

{

printf("%d ",d[i]);

}

printf("\n");printf("\n");

sum2=sum;//传值

for(i=0;i<10;i++)

{ y=sum2*n;

bt[i]=int(y);

ct[i]=sum2*n-bt[i];

sum2=ct[i];

q2=q2+1;//记录循环次数

if(ct[i]==0)

break;

}

//printf("%d",q2);//显示循环次数

printf("注释:%d进制整小部分转换为%d进制数为:\n",j,n);

printf("0.");

for(i=0;i<q2;i++)

{

printf("%d " ,bt[i]);

}

}

return 0;

}

本文来源:https://www.dywdw.cn/2b80e174f90f76c661371ad9.html

相关推荐
推荐阅读