zoukankan      html  css  js  c++  java
  • 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ

    题目描述:

    将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。

    输入:

    输入可能包含多个测试样例。
    对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n<=10000000)。

    输出:

    对应每个测试案例,
    若输入为一个合法的字符串(即代表一个整数),则输出这个整数。
    若输入为一个非法的字符串,则输出“My God”。

    样例输入:

    5
    -5
    +8
    样例输出:

    5
    -5
    8
    【解题思路】本题应该难度不大,首先我们输入一个字符串,然后判断首位,若为符号则需要标记一下,若为数字则加入到结果中,若为其他的证明这个不是合法的字符串不需要往下处理。然后就是后面的字符处理,只需要接纳数字字符,遇到其他字符证明需要停止接纳了。最后输出结果即可。

    AC code :

    #include <cstdio>
    using namespace std;
     
    int main()
    {
      char cc[100];
      while(scanf("%s",cc)!=EOF)
      {
        bool sig=true,conti=true;;
        char *c=cc;
        int re=0;
        if(*c=='-') sig=false;
        else if(*c=='+') ;
        else if(*c>='0' && *c<='9') re=re*10+*c-'0';
        else conti=false;
        if(conti)
        {
          ++c;
          while(*c!='')
          {
            if(*c>='0' && *c<='9') {re=re*10+*c-'0';++c;}
            else {
              conti=false;
              break;
            }
          }
        }
        if(!conti)
          printf("My God
    ");
        else
        {
          if(!sig)re=-re;
          printf("%d
    ",re);
        }
      }
      return 0;
    }
    /**************************************************************
        Problem: 1508
        User: huo_yao
        Language: C++
        Result: Accepted
        Time:0 ms
        Memory:1020 kb
    ****************************************************************/
    

    题目链接:http://ac.jobdu.com/problem.php?pid=1508

    九度-剑指Offer习题全套答案下载:http://download.csdn.net/detail/huoyaotl123/8276299



  • 相关阅读:
    光盘和U盘
    解决时间同步
    僵尸进程 和 孤儿进程
    Centos虚拟机设置网络模式
    常用CDN 和 后台管理模板
    微信小程序wxs如何使用
    kubernetes/client-go--使用 Clientset 获取 Kubernetes 资源对象
    samplecontroller
    volcano
    DNS欺骗
  • 原文地址:https://www.cnblogs.com/huoyao/p/4248871.html
Copyright © 2011-2022 走看看