数据结构练习(15)把字符串转换成整数
2012-12-12 22:25
351 查看
http://zhedahht.blog.163.com/blog/static/25411174200731139971/
题目虽简单,但是确实很能考察基本功以及编程规范,这牵涉到自己设计一个函数,这个函数应该遵循什么样的规范以及什么事项。下面引用自原博客:
分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。
题目虽简单,但是确实很能考察基本功以及编程规范,这牵涉到自己设计一个函数,这个函数应该遵循什么样的规范以及什么事项。下面引用自原博客:
分析:这道题尽管不是很难,学过C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题。建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同。
#include <iostream> #include <cstdio> using namespace std; bool str2int(const char *b, int& num) { if (b == NULL) return false; long long n = 0; bool minus = false; const char *s = b; if (*s == '+') ++s; else if (*s == '-') ++s, minus = true; while (*s != '\0') { if ('0' <= *s && *s <= '9') { n = n * 10 + *s - '0'; if (n > numeric_limits<int>::max()) return false; ++s; } else return false; } if (minus) n = 0 - n; num = n; return true; } int main() { char b[20]; gets(b); int num; bool flag = str2int(b, num); if (flag) printf("%d\n", num); else printf("error\n"); return 0; }
相关文章推荐
- 数组-08. 字符串转换成十进制整数(15)
- 【C编程练习】2013华为校园招聘机试题9月10日题1:把整数转换成字符串 void ConvertIntToStr(int nVal, char* pStr);
- 数组-08. 字符串转换成十进制整数(15)
- 练习 4-12 运用 printd 函数的设计思想编写一个递归版本的 itoa 函数,即通过递归 调用把整数转换为字符串
- [算法练习] 把字符串转换成整数
- 7-39 字符串转换成十进制整数(15 分)
- 数组-08. 字符串转换成十进制整数(15)
- 数组-08. 字符串转换成十进制整数(15)
- 【练习】输入一个表示整数的字符串,把该字符串转换成整数并输出
- 数组-08. 字符串转换成十进制整数(15)
- 数组-08. 字符串转换成十进制整数(15)
- 练习 3-5 编写函数 itob(n, s, b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中。例如,itob(n, s, 16)把整数n格式化成十六进制整数保存在s中。
- 数组-08. 字符串转换成十进制整数(15)
- 数组-08. 字符串转换成十进制整数(15)
- 数据结构——算法之(008)( 输入一个表示整数的字符串,把该字符串转换成整数并输出)
- 编程练习------C/C++分别实现字符串与整数的转换
- 数组-08. 字符串转换成十进制整数(15)
- 编程练习------C/C++分别实现字符串与整数的转换
- C++编程练习——用递归法将一个整数N转换成字符串
- (1411)实现字符串与整数的相互转换(不使用itoa和atoi)