入门客AI创业平台(我带你入门,你带我飞行)
博文笔记
  • 当前位置:
  • 入门客AI创业平台
  • >
  • 博文笔记
  • >
  • 输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345

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

创建时间:2018-02-28 投稿人: 浏览次数:153

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

1:判断是否为空字符串

2:判断正负号

3:判断是否有非法输入

最后将出来的数字不断乘以10再加上后面数字不断循环下去

#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
enum flag{
	valid=0,
	invalid
};
int judge=valid;
int paraInt(string s){
	long num=0;
	int f=1;
	if(s.empty())
		judge=invalid;//pan duan shi fou wei kong zi fu chuan
	else{
		string::size_type
			i=0;
		if(s[0]=="+")
		{
			i=1;
			if(s.length()==1)
				judge=invalid;
		}
		if(s[0]=="-")
		{
			i=1;
			f=-1;
			if(s.length()==1)
				judge=invalid;
		}
		for(i;i<s.length();i++){
			//zhuan huan
			int temp=s[i]-"0";
			if(temp>=0&&temp<=9)
				num=num*10+temp;
			else{
				judge=invalid;
				break;
			}
		}
	}
	num*=f;
	return static_cast<int>(num);
}




int _tmain()

{
	string s;
	cin>>s;
	int num=paraInt(s);
	if(!judge)
		cout<<num<<endl;
	else cout<<"invalid input"<<endl;
	system("pause");
	
	return 0;
}

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像