原题链接:数制转换
解题思路:
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; int bbb[20]; int main() { int a,b; string str; cin>>a>>str>>b; int n=str.size(); int str1[n]; for(int i=0;i<n;i++) { if(str[i]=='A'||str[i]=='a') { str1[i]=10; } if(str[i]=='B'||str[i]=='b') { str1[i]=11; } if(str[i]=='C'||str[i]=='c') { str1[i]=12; } if(str[i]=='D'||str[i]=='d') { str1[i]=13; } if(str[i]=='E'||str[i]=='e') { str1[i]=14; } if(str[i]=='F'||str[i]=='f') { str1[i]=15; } if(str[i]=='0') { str1[i]=0; } if(str[i]=='1') { str1[i]=1; } if(str[i]=='2') { str1[i]=2; } if(str[i]=='3') { str1[i]=3; } if(str[i]=='4') { str1[i]=4; } if(str[i]=='5') { str1[i]=5; } if(str[i]=='6') { str1[i]=6; } if(str[i]=='7') { str1[i]=7; } if(str[i]=='8') { str1[i]=8; } if(str[i]=='9') { str1[i]=9; } } int sum=0; int j=0; for(int i=n-1;i>=0;i--) { int y=pow(a,j); int x=str1[i]; sum+=x*y; j++; } //sum//十进制数字 for(int i=1; ;i++) { if(sum<b) { bbb[i]=sum; bbb[i+1]=900; break; } bbb[i]=sum%b; sum/=b; } int sum1=0; for(int i=1;i<=20;i++) { if(bbb[i]==900) { break; } sum1++; } int jj=0; for(int i=sum1;i>=1;i--) { if(bbb[i]==0) { cout<<"0"; } if(bbb[i]==1) { cout<<"1"; } if(bbb[i]==2) { cout<<"2"; } if(bbb[i]==3) { cout<<"3"; } if(bbb[i]==4) { cout<<"4"; } if(bbb[i]==5) { cout<<"5"; }if(bbb[i]==6) { cout<<"6"; }if(bbb[i]==7) { cout<<"7"; } if(bbb[i]==8) { cout<<"8"; } if(bbb[i]==9) { cout<<"9"; } if(bbb[i]==10) { cout<<"A"; } if(bbb[i]==11) { cout<<"B"; } if(bbb[i]==12) { cout<<"C"; } if(bbb[i]==13) { cout<<"D"; } if(bbb[i]==14) { cout<<"E"; } if(bbb[i]==15) { cout<<"F"; } } return 0; }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复