徐州企业网站排名优化,网站添加外链,2022世界足球排行榜,微信电脑网站是什么原因01:数制转换 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述求任意两个不同进制非负整数的转换#xff08;2进制#xff5e;16进制#xff09;#xff0c;所给整数在long所能表达的范围之内。不同进制的表示符号为#xff08;0#xff0c;1#xff0c;...2进制16进制所给整数在long所能表达的范围之内。不同进制的表示符号为01...9ab...f或者01...9AB...F。 输入输入只有一行包含三个整数anb。a表示其后的n 是a进制整数b表示欲将a进制整数n转换成b进制整数。ab是十进制整数2 ab 16。输出输出包含一行该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示即01...9AB...F。样例输入 15 Aab3 7 样例输出 210306 来源2005~2006医学部计算概论期末考试 1 #includeiostream2 #includecstdio3 #includecmath4 #includecstring5 using namespace std;6 char a[10001];7 int b[10001];8 int now;9 int tot;
10 int n;//未被转化的进制
11 int m;//需要转换的进制
12 int da[10001];
13 char w[20]{A,B,C,D,E,F};
14 int main()
15 {
16 cinn;
17 scanf(%s,a);
18
19 cinm;
20 int lstrlen(a);
21 if(a[0]0l1)
22 {
23 cout0;
24 return 0;
25 }
26 for(int i0;il;i)
27 {
28 if(a[i]97a[i]122)
29 {
30 a[i]a[i]-32;
31 }
32 if(a[i]49a[i]57)
33 {
34 b[i]a[i]-48;
35 }
36 else if(a[i]65a[i]90)
37 {
38 b[i]a[i]-55;
39 }
40 }
41 int ans0;
42 int now0;
43 for(int il-1;i0;i--)
44 {
45 ansansb[i]*(pow(n,now));
46 now;
47 }
48 int now21;
49 while(ans!0)
50 {
51 int rans%m;
52 b[now2]r;
53 ansans/m;
54 now2;
55 }
56 for(int inow2-1;i1;i--)
57 {
58 if(b[i]10)
59 coutb[i];
60 else
61 {
62 int kb[i]-10;
63 coutw[k];
64 }
65 }
66 /*for(int inow2;i0;i--)
67 coutda[i];*/
68 return 0;
69 } 要注意考虑a是0的情况