x进制转10进制(通用版)

#include<bits/stdc++.h>

using namespace std;

int main(){
	char s[105];
	int x;
	scanf("%s%d",&s,&x);
	int ans=0;
	int len =strlen(s);
	for(int i=0;i<len;i++){
		ans = ans*x;
		if(s[i]>='0'&&s[i]<='9')ans+=(s[i]-'0');
		else ans+=(s[i]-'A')+10;
	}
	printf("%d\n",ans);
	return 0;
} 
注意:可能超过10进制如16进制
类似于x<10的情况,再加进去判断:
							如果x<10,则不变,
							如x>10, 则涉及到字母(s[i]-'A')+10
	
上一篇:PHP二维关联数组的遍历方式


下一篇:函数的递归