美文网首页
十六进制到十进制转换

十六进制到十进制转换

作者: Auuuuu_ | 来源:发表于2018-04-18 16:22 被阅读0次

    写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )/* 什么叫多组同时输入 */

    输入描述:
    输入一个十六进制的数值字符串。

    输出描述:
    输出该数值的十进制字符串。

    输入例子1:
    0xA

    输出例子1:
    10

    #include "stdio.h"
    #include "string.h"
    #include "stdlib.h"
    
    #define OK (0)
    #define ERROR (-1)
      
    int main(void)  
    {  
        char str[200] = {0};  /* 大小可控? */
    
        while(scanf("%s", &str)) 
        {  
    
            int len = strlen(str);
            int i;
            int num = 0;
            
            if(str[0] != '0' || str[1] != 'x')
            {
                printf("\r\nEnter error.\r\n");
                return ERROR;       
            }
            
            for(i = 2; str[i]; i++)
            {
                if(str[i] >= '0' && str[i] <= '9')
                    num = num*16 + str[i] - '0';
                else if(str[i] >= 'A' && str[i] <= 'E')
                    num = num*16 + 10 + str[i] - 'A';
                else
                    return ERROR;
            }
            
            printf("%d\r\n", num);
        } 
        
        return OK; 
    }  
    

    相关文章

      网友评论

          本文标题:十六进制到十进制转换

          本文链接:https://www.haomeiwen.com/subject/wwnlzxtx.html