码迷,mamicode.com
首页 > 其他好文 > 详细

2017.11.6

时间:2017-11-07 00:15:44      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:describe   desc   div   pop   技术   return   2-2   结果   err   

题目描述

请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error

输入描述:

输入为一行,包含两个字符串,字符串的长度在[1,100]。

输出描述:

输出为一行。合法情况输出相加结果,非法情况输出error
示例1

输入

123 123
abd 123

输出

246
Error


技术分享

 


#include<iostream>
#include<string>
#include<stack> //出入栈头文件
using namespace std;
int main()
{
string s1,s2;
cin>>s1>>s2;
int len1=s1.length();
int len2=s2.length();
int len=len1<len2?len2:len1;
int t=0,b;
stack<int > tmp; //入栈
for(int i=len-1;i>=0;i--)
{
if((‘0‘<=s1[i]&&s1[i]<=‘9‘)&&(‘0‘<=s2[i]&&s2[i]<=‘9‘))
{
int y=s1[i]-‘0‘+s2[i]-‘0‘;
b=y%10+t;
t=y/10;

tmp.push(b);
}
else
{
cout<<"error";

return 0;
}
}
if(t!=0)
cout<<t;
while(!tmp.empty())//出栈
{
b=tmp.top();
cout<<b;
tmp.pop();
}
}

2017.11.6

标签:describe   desc   div   pop   技术   return   2-2   结果   err   

原文地址:http://www.cnblogs.com/panlangen/p/7795788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!