首先说一下,是PTA上面的题目的答案(纯自己做)

题目如下:

7-1十二进制字符串转换成十进制整数 (10 分)

输入一个以#结束的字符串,要求滤去所有的非十二进制字符(不分大小写),组成一个新的表示十二进制数字的字符串,然后将其转换为十进制数后输出。题目保证输出在长整型范围内。

输入格式:

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

输出格式:

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

输入样例:

+P-xf1+a-4!B#

结尾无空行

输出样例:

3227

#include <stdio.h>
int main()
{
    int c=0,d=0,e=0;
    char a[80],b[80];
    for(;;c++){
        a[c]=getchar();
        if(a[c]=='#'){
            break;
        }
    }
    a[c]='\0';
    for(c=0;;){
        if(a[c]=='\0'){
            break;
        }
        if(a[c]>='0'&&a[c]<='9'||a[c]=='A'||a[c]=='B'||a[c]=='a'||a[c]=='b'){
            b[d]=a[c];
            d++;
        }
        c++;
    }
    b[d]='\0';
    for(c=0;b[c]!='\0';c++){
        if(b[c]>='0'&&b[c]<='9'){
            e=e*12+b[c]-'0';
        }
        if(b[c]=='B'||b[c]=='A'){
            e=e*12+b[c]-'A'+10;
        }
        if(b[c]=='a'||b[c]=='b'){
            e=e*12+b[c]-'a'+10;
        }
    }
    printf("%ld\n",e);
    return 0;
}

然后我说说我对这题的看法,我觉得这个题目是存在一定的问题的

就比如这个图片,我在百度百科找到的,

如果得到pta题目调试的3227,就必须把a读进去,但是为什么小x不读呢,我感到很疑惑,希望同志们能给我一些帮忙。

所以,我刚开始做的代码是这样的:

#include <stdio.h>
int main()
{
    int c=0,d=0,e=0;
    char a[80],b[80];
    for(;;c++){
        a[c]=getchar();
        if(a[c]=='#'){
            break;
        }
    }
    a[c]='\0';
    for(c=0;;){
        if(a[c]=='\0'){
            break;
        }
        if(a[c]>='0'&&a[c]<='9'||a[c]=='A'||a[c]=='B'||a[c]=='a'||a[c]=='b'||a[c]=='X'||a[c]=='x'||a[c]=='E'||a[c]=='e'){
            b[d]=a[c];
            d++;
        }
        c++;
    }
    for(c=0;b[c]!='\0';c++){
        putchar(b[c]);
    }
    printf("\n");
    b[d]='\0';
    for(c=0;b[c]!='\0';c++){
        if(b[c]>='0'&&b[c]<='9'){
            e=e*12+b[c]-'0';
        }
        if(b[c]=='B'||b[c]=='A'||b[c]=='X'||b[c]=='E'){
            e=e*12+b[c]-'A'+10;
        }
        if(b[c]=='a'||b[c]=='b'||b[c]=='x'||b[c]=='e'){
            e=e*12+b[c]-'a'+10;
        }
    }
    printf("%ld\n",e);
    return 0;
}

那个中间的putchar是为了我检查b[c]里面到底存进了什么。

7-1 十二进制字符串转换成十进制整数(PTA)相关推荐

  1. C#十二进制字符串转换成十进制整数

    十二进制字符串转换成十进制整数 输入一个以#结束的字符串,要求滤去所有的非十二进制字符(不分大小写),组成一个新的表示十二进制数字的字符串,然后将其转换为十进制数后输出.题目保证输出在长整型范围内. ...

  2. PTA第3章-9 字符串转换成十进制整数 (15 分)

    第3章-9 字符串转换成十进制整数 (15 分) 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出.如果在第 ...

  3. 字符串转换成十进制整数

    字符串转换成十进制整数 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出.如果在第一个十六进制字符之前存在字 ...

  4. 实验7-3-6 字符串转换成十进制整数 (15分)

    十六进制字符 包括0~9 和 a~f(在本道题中规定不分大小写) 解题思路 循环输入一字符串,当出现'#'时退出输入. 设置两个标志位,分别记录第一个负号出现的位置和第一个十六进制出现的位置.(如果第 ...

  5. 输入一个字符串转换成十进制整数

    输入一个字符串,它可能是2–16进制数中一种进制数的表示,计算它对应的10进制数可能的最小值.例如,"151"可以是6–16进制中任何一种进制数的表示. 对应的10进制数可能的最小 ...

  6. C语言字母转十进制,c语言十进制转换_C语言 字符串转换成十进制整数

    最佳答案 这道题不算难,就是筛选除了a,b,c,d,e,f和数字之外的所有字符,然后把十六进制数转换为十进制数,你等我写一下程序再发上来.追答: #include #include = "0 ...

  7. 八进制字符串转成十进制整数

    题如下: 将无符号八进制数字构成的字符串转换为十进制整数.例如,输入的字符串为:556,则输出十进制整数366. 代码如下: #include <stdio.h>#define N 10v ...

  8. 十六进制字符串转换成十进制非负整数

    十六进制字符串转换成十进制非负整数 题目详情 输入一个以#结束的字符串,滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,输出该字符串并将其转换为十进制数后输出. 输入格式 ...

  9. 把字符串转换成int整数

    题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...

  10. C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset

    atoi()函数 #include <stdio.h> #include <stdlib.h>int main () {int i;char buffer[256];print ...

最新文章

  1. java课程心得_javaweb课程心得体会(三)
  2. 二进制计算机课教案,计算机与二进制教案.pdf
  3. python当前日期获取程序_Python获取当前时间日期
  4. Android性能优化之启动优化实战篇,最新整理
  5. 和ts一般怎么玩_KPL:一诺采访引热议,quot;裴擒虎是个野王都会quot;,暖阳怎么办?...
  6. 开放应用模型操作指南(一)| 云服务一键接入 OAM 体系
  7. docker+kibana+filebeat的安装
  8. 导出oracle数据c#代码,C# 程序导入导出oracle数据库
  9. STM32-SPI通信
  10. javascript打开模式窗口的用法
  11. 夺命雷公狗---ECSHOP---01-解决报错问题
  12. python图像化计算器
  13. ecg 幅度_心电图(ECG或EKG)设计原理及实例应用
  14. 【1】星空派GD32F303开发板介绍
  15. 银河麒麟linux找不到网卡,中标麒麟Linux v7系统下设置双网卡bond或team绑定详细过程-网卡设置...
  16. 6个超炫酷的HTML5电子书翻页动画
  17. [推荐]《人一生要读的60本书》
  18. mangodb 高频数据_MongoDB和数据流:实现一个MongoDB Kafka消费者
  19. 【情人节表白神器:送她一个HTML动态表白网站 带源码】
  20. Origin数据设置为日期/时间的方法

热门文章

  1. 明星分分合合的洪荒点击量,微博Mesh服务化改造如何支撑?(附PPT下载)
  2. UE4自定义资源和编辑器(一):创建自定义资源
  3. 100首英文经典歌曲
  4. 使用Bochs模拟器和IDA调试MBR
  5. Android 设备接入扫码枪,Android 设备接入扫码枪
  6. CSS - 选择器优先级介绍
  7. 跨浏览器书签导入实例演示,更好的管理书签!
  8. html img标签alt属性吗,img标签可以不用alt属性吗
  9. Codeforces Round #595 (Div. 3) E. By Elevator or Stairs?
  10. 女生什么样的表现会说明她喜欢你?——男生记得都看一遍,谨记~