第二十题(字符串转换成整数)

来源:互联网 发布:软件开发哪个大学好 编辑:程序博客网 时间:2024/04/29 10:10

第20 题:
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。
例如输入字符串"345",则输出整数345。


代码:

#include<iostream>#include<assert.h>using namespace std;namespace MS100P_20{int atoi(const char* str){if (str == NULL){cout << "null string,error!" << endl;return -1;}int result = 0;char sign='+';while (*str == ' ') ++str;if (*str == '-' || *str == '+')sign = *str++;while (*str != '\0'){if (isdigit(*str))result = result * 10 + *str++ - '0';else{cout << "illegal number error!" << endl;return -1;}}return sign == '+' ? result : -result;}void test(){cout << atoi("123") << endl;cout << atoi("937") << endl;cout << atoi("  +303") << endl;cout << atoi("  -1907") << endl;}}int _tmain(int argc, _TCHAR* argv[]){MS100P_20::test();return 0;}


0 0