本帖最后由 faryou 于 2024-4-6 13:56 编辑
[C] 纯文本查看 复制代码 #include <stdio.h>
int n,m,ten;
char a[15],ans[15];
int n_ten(int n){
int answer=0;
for(int i=0;a[i]!='\0';i++){
if(a[i]>='0' && a[i]<='9') answer=answer*n+a[i]-48;
if(a[i]>='A' && a[i]<='F') answer=answer*n+a[i]-55;
}
return answer;
}
void ten_m(int a,int m){
int b=0,i=a;
while(i>0){
if(i%m<=9) ans[b]=i%m+48;
if(i%m>=10) ans[b]=i%m+55;
i = (i-i%m)/m;
b++;
}
return ;
}
int main(){
scanf("%d%s%d",&n,a,&m);
ten=n_ten(n);
if(m!=10){
ten_m(ten,m);
int n=strlen(ans);
for(int i=n-1;i>=0;i--) printf("%c",ans[i]);
}
else printf("%d",ten);
return 0;
}
说明:共输入三个数:第一个数是原数进制,第二个数是原数,第三个数是要转化到的进制数;输出结果数。
|