题目描述
给一个小整数 x 和一个 x 进制的数 S。将 S 转为 10 进制数。对于超过十进制的数码,用 A,B,…… 表示。
输入格式
第一行一个整数 x;
第二行一个字符串 S。
输出格式
输出仅包含一个整数,表示答案。
输入输出样例
输入 #1复制
16 7B
输出 #1复制
123
说明/提示
【数据规模和约定】
保证目标数在十进制下不超过 109109,1≤x≤36。
思路
见代码注释--->
AC代码

#include<bits/stdc++.h>//万能头文件
using namespace std;使用标准命名空间
int n,q;
char ch[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};//在大于十进制时的单位字符
void swapw(int n,int a)//十对n进制转换
{
int x[27],i,j,k=0;
if(n<0)cout<<'-';//当为负数的时候
j=abs(n);//绝对值函数
while(j!=0)
{
//概括:模,除,模,除,……
k++;
i=j%a;
j/=a;
x[k]=i;
}
for(int t=k;t>=1;t--)//逆序输出
{
if(x[t]<10)
cout<<x[t];
else cout<<ch[x[t]-10];
}
return;
}
int main()
{
cin>>q>>n;
swapw(q,n);
return 0;
}
这篇文章讲述了如何编写一个程序,将给定的x进制数转换成10进制,特别处理了大于十进制数码的情况,使用了`swapw`函数实现转换,并给出了C++代码示例。

被折叠的 条评论
为什么被折叠?



