每日一道算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出
2014-12-05 23:54
459 查看
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
解题思路:针对此字符串,从头到尾开始遍历,首先判断第一个字符,如果没有负号,继续遍历,有负号,将最终输出的整数以负数形式输出即可;其次针对后面的数字字符,将前面得到的整数乘以10再加上此字符对应的数字即可;碰到非法字符,转换停止;最后大数问题也是需要考虑的。代码如下:
解题思路:针对此字符串,从头到尾开始遍历,首先判断第一个字符,如果没有负号,继续遍历,有负号,将最终输出的整数以负数形式输出即可;其次针对后面的数字字符,将前面得到的整数乘以10再加上此字符对应的数字即可;碰到非法字符,转换停止;最后大数问题也是需要考虑的。代码如下:
#include <iostream> using namespace std; long int a_to_i(char* str){ int length = sizeof(str)/sizeof(str[0]); bool flag = false; if (str[0] == '-'){ flag = true; } long int sum = 0; for (int i = 0; i < length; i++){ if (i == 0 && (str[0] == '-' || str[0] == '+')){ continue; } sum = sum * 10 + (str[i] - '0'); } if (flag) { sum = -sum; } return sum; } int main(){ char num[] = "-122"; long int result = a_to_i(num); cout << result << endl; system("pause"); return 0; }
相关文章推荐
- 算法题:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串“12345”,则输出整数“12345”
- 数据结构——算法之(008)( 输入一个表示整数的字符串,把该字符串转换成整数并输出)
- 每天学习一算法系列(20)(输入一个表示整数的字符串,把该字符串转换成整数并输出)
- 微软算法100道题-----输入一个表示整数的字符串,把该字符串转换成整数并输出
- 每天学习一点编程(1)(输入一个表示整数的字符串,把该字符串转换成整数并输出)
- 输入一个表示十六进制的字符串,转换为十进制的整数输出。
- 20.输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出
- 18. 微软面试题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- <仅是自己做笔记。。。系列-12>输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- 20 输入一个表示整数的字符串,把该字符串转换成整数并输出。
- 微软面试100题之20题:输入一个表示整数的字符串,把该字符串转换成整数并输出
- 20、输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出(实现atoi函数功能)
- 【练习】输入一个表示整数的字符串,把该字符串转换成整数并输出
- 【编程题目】输入一个表示整数的字符串,把该字符串转换成整数并输出
- 输入一个表示整数的字符串,把该字符串转换成整数并输出