题目1508:把字符串转换成整数
2013-09-24 19:27
316 查看
题目描述:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n<=10000000)。
输出:
对应每个测试案例,
若输入为一个合法的字符串(即代表一个整数),则输出这个整数。
若输入为一个非法的字符串,则输出“My God”。
样例输入:
样例输出:
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n<=10000000)。
输出:
对应每个测试案例,
若输入为一个合法的字符串(即代表一个整数),则输出这个整数。
若输入为一个非法的字符串,则输出“My God”。
样例输入:
5 -5 +8
样例输出:
5 -5 8
#include<iostream> #include<string> #include<cstring> #include<cstdio> #include<cstdlib> #define MAX 100 using namespace std ; int main() { char a[MAX] ; while(cin>>a){ bool tag = false ; char b[MAX] ; int i , j = 0 ; if(strlen(a)==1){ if(a[0]<'0' || a[0]>'9') cout<<"My God"<<endl; else cout<<a[0]<<endl; continue ; } for( i = 0 ; i < strlen(a) ; i ++) { if(i==0 && a[i] == '+') continue ; if(i==0 && a[i]=='-'){ b[j++] = a[i] ; continue ; } if(a[i]>='0' && a[i]<='9') b[j++] = a[i] ; else{ tag = true ; break; } } if(tag) cout<<"My God"<<endl; else { for( i = 0 ; i < j ; i++) if(b[i]=='-') { continue ; } else{ if(b[i]=='+') continue ; else{ if(b[i]=='0') continue ; else break; } } if(i>= j) cout<<"0"<<endl; else{ if(b[0]=='-') cout<<"-"; for( int k = i ; k <j ; k ++) cout<<b[k]; cout<<endl; } } } return 0; }
相关文章推荐
- 【剑指offer】题目1508:把字符串转换成整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 题目1508:把字符串转换成整数
- 题目1508:把字符串转换成整数
- 九度OJ-题目1508:把字符串转换成整数
- 题目1508:把字符串转换成整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 华为机试题目:识别字符串中的整数并转换为数字形式
- 题目:模拟实现atoi(字符串转换为整数)函数,比如“12345”转换后就是12345。
- 题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- 【编程题目】输入一个表示整数的字符串,把该字符串转换成整数并输出
- 九度OJ1508:把字符串转换成整数
- 1508字符串转换成整数
- 剑指Offer - 九度1508 - 把字符串转换成整数
- 1508 把字符串转换成整数 atoi()
- 数组-08. 字符串转换成十进制整数(15)
- 输入一个表示十六进制的字符串,转换为十进制的整数输出。
- CString,字符串,整数等相互转换方法(推荐)
- 编写函数htio(s),把由16进制数字组成的字符串转换为与之等价的整数值