要求:输入"g2sh8iBof"输出值 10431
解答:考察字符串数组基础支持,这里还没学到指针,答案里没有使用指针。
#include <stdio.h> #include <string.h> #include <math.h> void main(void) { char szHex[4],szRaw[] = "g2sh8iBof"; int i,j=0,iRet = 0 ,len = strlen(szRaw); for (i = 0 ; i < len; i++){ if(//anscii 0-9 szRaw[i] >= '0' && szRaw[i] <= '9' //anscii A-F || szRaw[i] >= 'A' && szRaw[i] <= 'F' //anscii a-f || szRaw[i] >= 'a' && szRaw[i] <= 'f' ){ szHex[j++] = szRaw[i]; } } for(i = 0; i < j; i++){ if(szHex[i] >= '0' && szHex[i] <= '9' ) iRet += ( szHex[i] - '0' ) * pow(16, 4-i-1); if(szHex[i] >= 'A' && szHex[i] <= 'F') iRet += (szHex[i] - 'A' + 10) * pow(16, 4-i-1); if(szHex[i] >= 'a' && szHex[i] <= 'f') iRet += (szHex[i] - 'a' + 10) * pow(16, 4-i-1); } printf("%d\n",iRet); }
在线编译测试:https://ideone.com/ISg1Cr
本博客文章绝大多数为原创,少量为转载,代码经过测试验证,如果有疑问直接留言或者私信我。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。
创作文章不容易,转载文章必须注明文章出处;如果这篇文章对您有帮助,点击右侧打赏,支持一下吧。