给定一个n 进制数 a,请你将它转换为 m 进制并输出。
特别的,令 A,B,C,…,Z 表示高进制下的 10∼35;
以下为代码:(自己编的可能有些麻烦)
#include
#include
#include
int main()
{
char ch[100];
char a[100];
int n,m;
long long b=0;
scanf("%s%d%d",ch,&n,&m);
int len=strlen(ch);
int i;
long long y[100];long long y1[100];
for (int i3 = 0; i3 < 100; i3++)
{
y[i3] = 1,y1[i3]=1;
}
for(i=0;i
if(ch[i]>=48&&ch[i]<=57)
{
int i1;
for(i1=0;i1
b+=(ch[i]-48)*y[i];
}
else if(ch[i]>=65&&ch[i]<=90)
{
int i2;
for(i2=0;i2
b+=(ch[i]-55)*y1[i];}
}
int j=0;
long long b1=b;
while(b>0)
{
a[j]=b%m;
b/=m;
j++;
}
int k=0;
while(b1>0)
{
if(a[j-k-1]<10)
printf("%c",a[j-k-1]+48);
else if (a[j-k-1]>9)
printf("%c",a[j-k-1]+55);
b1/=m;
k++;
}
return 0;
}



