复制代码
#include<stdio.h>
#include<string.h>
int fun(int n,int c)//这个是求每一位对应的十进制是多少 
{
    if (c == 0)
        return n;
    else return  n= fun(n, c - 1)*16;
}
int main()
{
    char a[80], b[80];
    int i = 0, j = 0;
    gets_s(a);

    for (int i = 0; a[i] != '\0';i++)
    {
        if ((a[i] >= '0' && a[i] <= '9') || (a[i] >= 'A' && a[i] <= 'F'))
        {
            b[j] = a[i];
            j++;
        }
    }
    b[j] = '\0';
        int sum =0;
        for (int k=j-1,l = 0;l<j;l++,k--)
        {
            int t;
            if (b[l] >= '0' && b[l] <= '9')
            {
                t = b[l] - 48;
            }
            else
                t = b[l] - 55;

            sum += fun(t,k);//求和  把所有的加起来  构成10进制
        }
        printf("%d\n",fun(2,2));
    for (int m = 0; m < j; m++)
        printf("%c",b[m]);
    printf("\n");
    printf("%d",sum);
    return 0;
}
复制代码

 

努力加载评论中...
点击右上角即可分享
微信分享提示