zoukankan      html  css  js  c++  java
  • 数组-08. 字符串转换成十进制整数

    数组-08. 字符串转换成十进制整数(15)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    张彤彧(浙江大学)

    输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果过滤后字符串的首字符为“-”,代表该数是负数。

    输入格式:

    输入在一行中给出一个以#结束的非空字符串。

    输出格式:

    在一行中输出转换后的十进制数。题目保证输出在长整型范围内。

    输入样例:
    +P-xf4+-1!#
    
    输出样例:
    -3905
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<stdlib.h>
     4 #include<string.h>
     5 int main()
     6 {
     7     int i, j = 0, flag = 1, sum = 0;
     8     char str[100], s[20];
     9     gets(str);
    10     for(i = 0; str[i] != '#'; i++)
    11     {
    12         if(str[i] == '-' && flag)
    13             s[j++] = str[i];
    14         if((str[i] >= '0' && str[i] <= '9') || (str[i]) >= 'a' && str[i] <= 'f' || (str[i] >= 'A' && str[i] <= 'F'))
    15         {
    16             s[j++] = str[i];
    17             flag = 0;
    18         }
    19     }
    20     if(s[0] != '-')
    21         for(i = j - 1; i >= 0; i--)
    22         {
    23             if(s[i] >= '0' && s[i] <= '9')
    24                 sum += (s[i] - '0') * pow(16, j - 1 - i);
    25             else if(s[i] >= 'a' && s[i] <= 'f')
    26                 sum += (s[i] - 'a' + 10) * pow(16, j - 1 - i);
    27             else if(s[i] >= 'A' && s[i] <= 'F')
    28                 sum += (s[i] - 'A' + 10) * pow(16, j - 1 - i);
    29         }
    30     else
    31     {
    32         for(i = j - 1; i > 0; i--)
    33         {
    34             if(s[i] >= '0' && s[i] <= '9')
    35                 sum += (s[i] - '0') * pow(16, j - 1 - i);
    36             else if(s[i] >= 'a' && s[i] <= 'f')
    37                 sum += (s[i] - 'a' + 10) * pow(16, j - 1 - i);
    38             else if(s[i] >= 'A' && s[i] <= 'F')
    39                 sum += (s[i] - 'A' + 10) * pow(16, j - 1 - i);
    40         }
    41         sum = -sum;
    42     }
    43     printf("%d
    ", sum);
    44     return 0;
    45 }
  • 相关阅读:
    牛客多校第一场 A Equivalent Prefixes 单调栈(笛卡尔树)
    HDU多校第三场 Hdu6606 Distribution of books 线段树优化DP
    (待写)
    Hdu6586 String 字符串字典序贪心
    2019HDU多校第一场1001 BLANK (DP)(HDU6578)
    iOS触摸事件
    iOS获取相册/相机图片-------自定义获取图片小控件
    自定义表情输入框
    iOS版本、iPhone版本、Xcode版本比对
    Swift备忘录
  • 原文地址:https://www.cnblogs.com/yomman/p/4237733.html
Copyright © 2011-2022 走看看