HW公司的上机编程题中,要求实现十七进制输入,转换为十进制输出,当时卡壳了,回来迅速实践一下。
#include <stdio.h> #include <stdlib.h> /* ================================================ 功能:十七机制转换为十进制 输入:十七进制数 输出:十进制数 作者:龙行江湖 时间:2.13.8.16. ================================================ */ int convert(char str[]) //转换函数 { int sum=0,n=0,i; for(i=0;i<strlen(str);i++) //从高位到低位一位一位读取 { if(str[i]>='0'&&str[i]<='9') n=str[i]-'0'; //0-9可以用-‘0’的方法隐式转换为int类型 else n=str[i]-55; //A-G可以用-55的方法隐式转换为int类型 sum=sum*17+n; //累加计算结果 //printf("%d,%d,%d\n",i,n,sum); //验证结果过程 } return sum; } main() { char str[20]; gets(str); int a=convert(str);//实现转换 printf("%d",a); getchar(); }