进制转换 poj1220-NUMBER BASE CONVERSION

来源:互联网 发布:淘宝 情趣内衣 买家秀 编辑:程序博客网 时间:2024/05/19 09:13

这个题目要求进行从2-62之间任意进制间的转换。

第一个是要转换的行数,以下第一个是输入进制,第二个数是转换的输出进制,第三个是要转换的数据。

输出按输入进制输入数据换行输出转换后的进制和数据输出。

#include "stdio.h"#include "string.h"int main(){    int i,l,k,a,b,t,T[550],A[550];    char s[550],d[550];    scanf("%d",&t);    while(t--)    {    scanf("%d %d %s",&a,&b,s);    for(k=i=strlen(s);0<i--;)    T[k-i-1]=s[i]-((s[i]<58)?48:((s[i]<97)?55:61));    for(l=0;k;)    {    for(i=k;1<i--;)    {    T[i-1]+=T[i]%b*a;    T[i]/=b;    }    A[l++]=T[0]%b;    T[0]/=b;    for(;0<k&&!T[k-1];k--) ;    }    for(d[l]=i=0;i<l;i++)    d[l-i-1]=A[i]+((A[i]<10)?48:((A[i]<36)?55:61));    printf("%d %s\n%d %s\n\n",a,s,b,d);    }    return 0;}


0 0
原创粉丝点击