1361数制转换升级

描述

今天的编程课上,刘老师又给大家讲了进制转换的知识。我们知道,任何数据、符号在计算机中都是以二进制的形式表示的,给定一个十进制数,我们很容易就可以转化为二进制数。现在我们要开发一个小工具程序,用来实现任意进制之间的转换。可以将给定的m进制数x转化为n进制的P(所有数数据均能在长整型范围内处理)。

输入

输入只有一行,共有三个数x, m,n(2<=m,n<=10)。

输出

输出只有一个数,那就是转换后的结果P。

输入样例 1 

48  10  8

输出样例 1

60

这题是上一题的升级版,上一题是把十进制数转换成n进制数。
这一题是把n进制数转换成m进制数。
我们需要把n进制数转换成十进制数,再转换成m进制数就好了。
代码:
 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     string s;
 6     int n,m,t=1,x=0,a[205]={0},c=-1,v;
 7     cin>>s>>n>>v;
 8     m=s.size();
 9     for(int i=m-1;i>=0;i--)
10     {
11         x=x+(s[i]-48)*t;
12         t=t*n;
13     }
14     while(x!=0)
15     {
16         c++;
17         a[c]=x%v;
18         x/=v;
19     }
20     for(int i=c;i>=0;i--)
21     {
22         cout<<a[i];
23     }
24     return 0;
25 }
原文地址:https://www.cnblogs.com/cyk20081108/p/13865622.html