题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

#include <stdio.h>
#include <math.h>
#include<ctype.h>
void reverse(char* s) {
    int  i = 1, len = 0, j = 0;
    char* p=s;
    char c;
    while (*p != 0) {
        len++;
        p++;
    }
    for (i = 0; i <= len / 2 - 1;i++) {
        c = *(s + i);
        *(s + i) = *(s + len - i - 1);
        *(s+len - i - 1) = c;
    }
}

int main() {
    char a[100], b;
    int i = 1, j=0, sum = 0;
    char* gets(char* a);
    gets(a);
    reverse(a);
    while ((a[j] != 'x')) {
        switch (a[j]) {
        case 'A':
            sum = sum + 10 * i;
            break;
        case 'B':
            sum = sum + 11 * i;
            break;
        case 'C':
            sum = sum + 12 * i;
            break;
        case 'D':
            sum = sum + 13 * i;
            break;
        case 'E':
            sum = sum + 14 * i;
            break;
        case 'F':
            sum = sum + 15 * i;
            break;
        case '0':
            sum = sum + 0 * i;
            break;
        case '1':
            sum = sum + 1 * i;
            break;
        case '2':
            sum = sum + 2 * i;
            break;
        case '3':
            sum = sum + 3 * i;
            break;
        case '4':
            sum = sum + 4 * i;
            break;
        case '5':
            sum = sum + 5 * i;
            break;
        case '6':
            sum = sum + 6 * i;
            break;
        case '7':
            sum = sum + 7 * i;
            break;
        case '8':
            sum = sum + 8 * i;
            break;
        case '9':
            sum = sum + 9 * i;
            break;
    
        }
        i = i * 16;
        j++;
    }
    printf("%d", sum);
    return 0;


}
    
   

}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务