题目:把输入的字符串转化为整数,如:“-456” 输出456、“+456”输出456,“456”输出“456”,如果是非法输入,则输出0,并提示错误。

代码:

long long strToNum( const char* pStr)
{long long num=0;int flag=1;if(pStr==NULL){cout << "is null!\n";return 0;}if(*pStr=='-'){flag=-1;pStr++;}else if(*pStr=='+'){pStr++;}else{}while(*pStr != '\0'){if((*pStr)>='0' && (*pStr)<='9'){num =num*10 + (*pStr-'0');if(num > std::numeric_limits<long long>::max()){num=0;cout << "over flow!\n";return num;}}else{num=0;cout << "not a number!\n";return num;}pStr++;//while中总是忘记
    }num *=flag;return num;
}

转载于:https://www.cnblogs.com/zjhnl/archive/2012/10/02/2710206.html

程序员面试题100题第17题——字符串转化为整数相关推荐

  1. 程序员面试题100题第19题——反转链表

    1 .链表相邻元素翻转 2 .题目:输入一个链表的头结点,反转该链表,返回反转后链表的头结点: LNode* ReverseLinkList(LNode* head)//带头结点 {if(head = ...

  2. 程序员面试题100题第29题——调整数组顺序使奇数位于偶数前面

    思想完全是采用快速排序: bool isEven_(int n)//是否是偶数 {return (n&1)==0; } void swapOddEven(int arr[], int left ...

  3. 程序员面试题100题第28题——全排列

    题目: 输入一字符串,输出字符串的所有排列 分析: 我们以三个字符abc为例.首先我们固定第一个字符a,求后面两个字符bc的全排列.当bc的排列求好之后,这就是一部分解: 现在我们把第一个字符a和后面 ...

  4. 程序员面试题100题第03题——求子数组的最大和

    题目:输入一个整型数组,数组里有整数也有负数.数组中连续的一个或者多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值. 要求时间复杂度为O(n). 分析: 方法一: 当我们加上一个 ...

  5. 程序员面试题精选算法58题加答案

    这篇文章总结的非常好,以防以后找不到,在此转载. 程序员面试题精选(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点 ...

  6. 程序员面试题精选100题

    程序员面试题精选100题(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向. 比如将二元查找树   ...

  7. [程序员面试题精选100题]13.第一个只出现一次的字符

    [题目] 在一个字符串中找到第一个只出现一次的字符.如输入abaccdeff,则输出b. [分析] [代码] /********************************* * 日期:2013- ...

  8. 程序员面试题精选100题(51)-顺时针打印矩阵

    // 程序员面试题精选100题(51)-顺时针打印矩阵.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h" #include <iostre ...

  9. 程序员面试题精选100题:求从1到n的正数中1出现的次数

    // 程序员面试题精选100题(25):求从1到n的正数中1出现的次数 // 如 f(253) = (2!=0) * 100 + 2 * f(99) + (5!=0) * 10 + 5 * f(9) ...

最新文章

  1. 租车java 查询_基于java实现租车管理系统
  2. 无论是否使用Spring Framework,为什么我们会失败?
  3. 基于Spring Security的认证授权_连接数据库查询权限_Spring Security OAuth2.0认证授权---springcloud工作笔记131
  4. 几句话就能让你明白:热备份路由选择协议(HSRP)
  5. Python基础语法
  6. tomcat7.0安装及配置教程(win10)
  7. ussd代码大全_USSD查询器app
  8. [ Keil ] keil4工程转keil5方法
  9. CF机器码怎么解-LOL机器码怎么改?(最详细教程CX)
  10. 视频像素、分辨率、清晰度关系及区别
  11. 模拟实现strlen
  12. SQL查询中in和exists的区别
  13. 水果店怎么搞活动方案,水果店促销活动方案
  14. 树莓派2使用360wifi ,小米wifi
  15. latex运行报错File `res.cls‘ not found.
  16. 中鑫吉鼎|一份行之有效的投资计划
  17. UG NX 12 点构造器
  18. 并不对劲的[Noi2008]道路设计
  19. Pandas删除重复行数据
  20. C++编译器符号表有哪些内容?

热门文章

  1. Oracle date 和 timestamp 区别
  2. mysql 必须掌握的工具pt-query-digest安装
  3. JS如何调用CSS样式表
  4. 5G 信令流程 — MM 定时器
  5. 74HC595的使用
  6. Linux常用基本命令:三剑客命令之-awk输入输出分隔符
  7. 在weex 中的引入 Ethereum -web3.js
  8. Android 更新项目名称
  9. ORACLE告警日志文件
  10. 【BZOJ】2333: [SCOI2011]棘手的操作