求指教
查看原帖
求指教
1377856
zhangjacky楼主2024/12/31 17:02

求大佬帮忙啊

#include<bits/stdc++.h>
using namespace std;
char nums[25]={"0123456789ABCDEF"};
int k10(string s,int k){
	int ans=0,quan=0,cur;
	for(int i=s.size()-1;i>=0;i--){
		if(s[i]>='0'&&s[i]<='9')ans+=(s[i]-'0')*pow(k,cur);
		else ans+=(s[i]-'A'+10)*pow(k,cur);
		cur++;
	}
	return ans;
}
string to_m(int n,int k){
	string ans;
	int t=n;
	stack<char> s;
	while(t!=0){
		s.push(nums[t%k]);
		t/=k;
	}
	while(!s.empty()){
		char c=s.top();
		ans+=c;
		s.pop();
	}
	return ans;
}
int main(){
	string s;
	int n,m;
	while(cin>>s>>n>>m){
		int tmp=k10(s,n);
		string ans=to_m(tmp,m);
		if(ans.size()>7){
			cout<<"  ERROR\n";
		}
		else{
			int j=7-ans.size();
			for(int i=0;i<j;i++)cout<<" ";
			cout<<ans<<"\n";
		} 
	}
	return 0;
}

显示“Unknown Error”

2024/12/31 17:02
加载中...