`
v5qqbrowser
  • 浏览: 355594 次
文章分类
社区版块
存档分类
最新评论

程序员面试100题(算法)之把字符串转换成整数

 
阅读更多

此程序还没有判读sum是否溢出,待续。。

// 程序员面试100题(算法)之把字符串转换成整数

#include "stdafx.h"
#include <iostream>

using namespace std;

int state = 0;

int ConvertStr(char *str)
{
	int num = 0;
	long sum = 0;

	if(NULL == str)
	{
		cout << "input is empty" << endl;
		state = 1;
	}
	else
	{
		char symbol = *str;

		if(symbol == '+' || symbol == '-')
		{
			str++;
		}

		while(*str != '\0')
		{
			if(*str >= '0' && *str <= '9')
			{
				num = *str - '0';
				sum = sum * 10 + num;
				str++;
			}
			else
			{
				state = 1;
				break;
			}
		}

		if(symbol == '-')
		{
			sum = 0 - sum;
		}
	}

	return sum;
}

int _tmain(int argc, _TCHAR* argv[])
{
	char *str = "-5462458";
	long number = ConvertStr(str);
	if(1 == state)
		cout << "Wrong input" <<endl;
	else
		cout << number << endl;

	return 0;
}
分享到:
评论

相关推荐

    程序员面试题精选100题【数据结构 /算法】

    由第三方作者花费大量时间收集并整理散落在茫茫网络中的面经,并从中精选出若干具有代表性的技术类的面试题展开讨论,希望能给读者带来一些启发 例如; 把二元查找树转变成排序的双向链表 ...把字符串转换成整数

    Python《剑指offer》算法实现-把字符串转换成整数

    1. 初级程序员注重算法和数据结构 2. 事先做好准备,对工作有热情 3. 面试过程放松。不要急于写代码,了解清楚所要解决的问题,多和面试官沟通,然后开始做一些整体的设计和规划。不要急于提交,自己测试几个用例避免错误...

    程序员编程艺术:面试和算法心得.pdf

    第一章 字符串 o 1.0 本章导读 o 1.1 旋转字符串 o 1.2 字符串包含 o 1.3 字符串转换成整数 o 1.4 回文判断 o 1.5 最长回文子串 o 1.6 字符串的全排列 o 1.10 本章习题 第二章 数组 o 2.0 本章导读 o 2.1 寻找最小的...

    vcmianshi.rar_c++ thread_算法笔试面试_算法面试题_马戏团

    C++程序员面试、笔试经常遇到的一些算法示例集 pdf,相关内容:字符串匹配的KMP算法,括号匹配检测、求一个数组的最长递减字序列、一些数字题求解,输出一个字符串的所有组合,马戏团表演问题、Thread.sleep 与obj....

    程序员面试攻略 part1(共2个)

    5.6 面试例题:整数/字符串之间的转换81 第6章递归算法87 6.1 面试例题:二分法搜索91 6.2 面试例题:字符串的全排列93 6.3 面试例题:字符串的全组合98 6.4 面试例题:电话键单词101 第7章其他程序设计问题...

    程序员面试攻略part 2(共2个)

    5.6 面试例题:整数/字符串之间的转换81 第6章递归算法87 6.1 面试例题:二分法搜索91 6.2 面试例题:字符串的全排列93 6.3 面试例题:字符串的全组合98 6.4 面试例题:电话键单词101 第7章其他程序设计问题...

    算法文档,来看看吧

    [原网页] 程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配 [原网页] 程序员编程艺术第二十八~二十九章:最大连续乘积子串、字符串编辑距离 [原网页] 数据挖掘中所需的概率论与数理统计知识、...

    JAVA面试题最全集

    编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    3.1 字符及字符串转换 45 实例035 将字母全部转换为大写或小写 45 实例036 字母与ASCII码的转换 46 实例037 汉字与区位码的转换 48 实例038 将汉字转换为拼音 49 3.2 常用字符及字符串操作 50 实例039 根据标点符号...

    JAVA基础之java的移位运算

    字符串数组binary 代表了0到15 对应的二进制的值。在本例中,数组各元素的排列顺序显示了变量对应值的二进制代码。数组之所以这样构造是因为变量的值n对应的二进制代码可以被正确的存储在数组对应元素binary[n] 中。...

    net学习笔记及其他代码应用

    答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的...

Global site tag (gtag.js) - Google Analytics