文章
6
粉丝
137
获赞
2
访问
5.9k
#include<stdio.h>
#include<string.h>
#define N 105
int main()
{
int n, m; //m是现在的进制,n是要转换的进制
char s1[N], s2[N]; //s1存储输入的字符串,s2存储转换的进制
int i = 0, j = 0, len; //len为字符串的长度
long long ans = 0; //记录十进制数
scanf("%d%d", &m, &n);
scanf("%s", s1);
len = strlen(s1);
//先转换为十进制数
for(i = 0; i < len; i++)
{
if(s1[i] >= '0' && s1[i] <= '9') //如果是数字,可以直接加上他的值
ans = ans * m + s1[i] - '0';
else //如果为字母,字母需要减去A的值再加上10
ans = ans * m + s1[i] - 'A' + 10;
}
i = 0; //重置i的值
while(ans > 0)
{
int temp = ans % n;
ans /= n;
if(temp < 10) //替换为正常的数字即可
s2[i++] = temp + '0';
else //余数大于9
s2[i++] = temp + 'a' - 10;
}
...
登录后发布评论
暂无评论,来抢沙发