1075 数制转换

发布时间:2024-11-21 14:39

如何将CD转换为数字音频格式? #生活技巧# #数码产品使用技巧# #音频设备调音#

最新推荐文章于 2022-10-22 07:59:51 发布

Felven 于 2011-07-13 09:11:05 发布

  描述

设有一个字符串A$的结构为: A$=’m(n)p’ 其中m为数字串(长度<=20),而n,p均为1或2位的数字串(其中所表达的内容在2-10之间)。 程序要求:从键盘上读入A$后(不用正确性检查),将A$中的数字串m(n进制),以p进制的形式输出。 例如:A$=’48(10)8’ 其意义为:将10进制数48,转换成8进制数输出。 输出结果为:48(10)=60(8)

输入

包含多组测试数据 一个字符串A,中间以一个(n)隔开,(n)之前是一个整数m,n表示n进制,(n)之后是一个整数p,表示要将n转换成p进制 每个字符串占一行

输出

每个输出占一行 按以下格式输出 m(n)=q(p) 表示n进制的m和p进制的q相等

样例输入

48(10)8

样例输出

48(10)=60(8)

解题思路:
先把每一位抽取出来,然后按照进制进行还原,反正最后都是按照十进制来做。接下来再按照新的进纸进行位抽取即可。

#include <stdio.h>

#include <math.h>

main()

{

long long m;

int n,p;

long long result;

int a[200];

int up;

int i;

long long t;

long long xx;

while (scanf("%lld(%d)%d",&m,&n,&p)!=EOF)

{t=m;

up=0;

while(m!=0)

{

a[up]=m%10;

up++;

m=m/10;

}

result=0;

xx = 1;

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

{

result=result+xx*a[i];

xx =xx * n;

}

up=0;

while(result!=0)

{

a[up]=result%p;

up++;

result=result/p;

}

result=0;

xx = 1;

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

{

result=result + xx*a[i];

xx = xx * 10;

}

printf("%lld(%d)=%lld(%d)\n",t,n,result,p);

}

}

网址:1075 数制转换 https://www.yuejiaxmz.com/news/view/175109

相关内容

计算机中各进制间的转换
高速模数转换器 (>=1GSPS) 产品
人民币金额(数字)大小写转换在线工具
从胶片到数码:胶片照片数字化转换全攻略
python入门第三章敏感词替换 文字排版工具 文本进度条 进制转换
python123货币转换费
AI语音转换技术:实时识别、智能转换与多场景应用解决方案
数读中国
季节变换 如何防治呼吸道疾病
MATLAB图像处理(包括图像类型转换)

随便看看