文章
7
粉丝
318
获赞
0
访问
67.9k
#include<stdio.h>
#include<string.h>
int main()
{
int M,N,string,i,r;
char s[105];//因为可能是十六进制的数,所以设定为字符串形式
scanf("%d%d",&M,&N);
scanf("%s",&s);
int ans=0;//先将该进制的数转换为十进制的数
string=strlen(s);
for(i=0;i<string;i++)
{
if(s[i]>'9')//字符大于9字符的情况
ans=ans*M+s[i]-'A'+10;
else//字符小于等于9字符的情况
ans=ans*M+s[i]-'0';
}
char s2[105];//将十进制的数转为N进制的数
i=0;
while(ans>0)
{
if(N>10)
s2[i++]=ans%N+'A'-10;
else
s2[i++]=ans%N+'0';
ans=ans/N;
}
r=i-1;//反向输出
for(i=r;i>=0;i--)
printf("%c",s2[i]);
return 0;
}
登录后发布评论
暂无评论,来抢沙发