题解 | #进制转换#

进制转换

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

#include <stdio.h>

int main() { char str[128] = {0}; int out = 0; int num = -1;

while(gets(str))	//输入0XAB
{
	//str[0] = '0' str[1] = 'X' str[2] = 'A' str[3] = 'B'
    for(int i = strlen(str)-1; i > 1; i--)
    {
        num++;
        if(str[i] >= 'a' && str[i] <= 'f') 
        {
            out += (str[i] - 'a' + 10) * pow(16, num);
        }
        else if(str[i] >= 'A' && str[i] <= 'F')
        {
            out += (str[i] - 'A' + 10) * pow(16, num);
        }
        else if(str[i] >= '0' && str[i] <= '9')
        {
            out += (str[i] - '0') * pow(16, num);
        }
        else
        {
            printf("data failed!!!\n");
            return -1;
        }
    }
    printf("%d\n", out);
}
return 0;

}

全部评论

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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