内大17年19进制转换问题

先生您好,我想看看您写的19进制转换的问题,您可以发给我吗,我没会员看不了,如果是位运算的话,有不用位运算实现的版本吗,我不理解位运算。

是10进制转换19进制吗 ?
你题目的解答代码如下:

#include <stdio.h>
char *dto19(int x, char *s)
{
    int i, n = 0;
    int v;
    do
    {
        v = x % 19;
        if (v < 10)
            s[n] = v + '0';
        else
            s[n] = v - 10 + 'A';
        x = x / 19;
        n++;
    } while (x > 0);
    for (i = 0; i < n / 2; i++)
    {
        v = s[i];
        s[i] = s[n - 1 - i];
        s[n - 1 - i] = v;
    };
    s[n] = '\0';
    return s;
}
int main()
{
    int x;
    char s[60];
    scanf("%d", &x);
    dto19(x, s);
    printf("%s\n", s);
    return 0;
}

如有帮助,望采纳!谢谢!


#include <stdio.h>
#include <math.h>
#include <string.h>
int convertD(char s[]){//返回十进制数 
    int T=0,i=0,num=strlen(s);
    while(num--){
        T+=(s[num]-'0')*pow(9,i);
        i++;
    }
    return T;
    
}
int convertNt(int T,char s[]){
    int i=0,c;
    while(T){
        c=T%19;
        s[i++]=c>=10?(c-10)+'a':c+'0';
        T/=19;
    }
    while(i--){//逆序输出 
        printf("%c",s[i]);
    }
    return 0; 
}
int main(){
    int T;
    char s[10];
    gets(s);//获取9进制字串
    T=convertD(s); //先转十进制 
    convertNt(T,s); //再转十九进制 
    return 0;
}