C语言编程问题求解答

img


#include <stdio.h>

int conver_14_to_10(char *tar)
{ //把14进制转为10进制
    int res = 0;
    int cur_idx = 0;
    while (tar[cur_idx] != '\0')
    {
        if (tar[cur_idx] >= '0' && tar[cur_idx] <= '9')
        {
            res = 14 * res + tar[cur_idx] - '0';
        }
        else
        {
            res = 14 * res + tar[cur_idx] - 'A' + 10;
        }
        cur_idx++;
    }
    return res;
}

void print_7(int tar)
{ //将10进制转为7进制输出
    if (tar == 0)
        return;
    print_7(tar / 7);
    printf("%d", tar % 7);
}

int main()
{
    int i,n,j = 0;
    scanf("%d", &n);
    char str_lib[1000][1000];
    for (i = 0; i < n; i++)
    {
        scanf("%s", &str_lib[i]);
        print_7(conver_14_to_10(str_lib[i]));
        printf(" ");
    }
    return 0;
}