C语言任意进制转10进制

/*任意进制转换成十进制,输入格式为:qwer 36
转换大小不超过int类型的取值范围

*/

#include
#include
#include
#define MAX 100
int main ()
{
    char arr_1[MAX],ch;
    int jinzhi,b=0,j=0,i=0,a,c,n=0,hg=0,k;


   //获取标准输入,enter键结束
   //n值记录输入的字符个数
    for( i=0;i     {
        scanf("%c",&ch);
        if(ch=='\n')
        {
            break;
        }
        arr_1[i]=ch;
        n++;
    }    
    printf("n:%d\n",n);

    //将字符转换看是几进制
    a=(int)arr_1[i-1]-48;
    b=((int)arr_1[i-2]-48)*10;
    c=a+b;
    printf("%d\n%d\n%d\n",a,b,c);

    //用pow()函数算幂次方,得出结果
    k=n;
    for(i=0;i<(n-3);i++)
    {
        hg+=((int)arr_1[i]-87)*pow(c,k-4 );
        k--;
        printf("hg:%d\n",hg);
    }
    printf("十进制:%d\n",hg);
    for(int j=0;j     {
        printf("%c\n",arr_1[j]);
        
    }
}


 

你可能感兴趣的:(c语言)