早教吧 育儿知识 作业答案 考试题库 百科 知识分享

zoj1205老是WA,help我自己输入的数据都可以得出正确答案,但提交以后老是WA,谁能告诉我哪里错了代码如下//zoj1205//20080129#include#includeusingnamespacestd;intmain(){intplus20(chara,charb,string::iteratorsu

题目详情
zoj 1205 老是WA,help
我自己输入的数据都可以得出正确答案,但提交以后老是WA,谁能告诉我哪里错了
代码如下
//zoj 1205
//2008 01 29
#include
#include
using namespace std;
int main(){
int plus20(char a,char b,string::iterator sum,int up);
//实现单位加法的函数,前两个参数是加数,第三个参数是和存放的位置,第四个参数是前一位的进位信息
//有进位返回1,无进位返回0
int up;
string a,b,sum;
while(cin>>a>>b){
while(*a.begin()=='0'){
a.erase(a.begin());
}
while(*b.begin()=='0'){
b.erase(b.begin());
}
//除去输入中多余的零
if(a.size()==b.size()) //该if语句是把两个数的位数补齐,少的左补0
;
else if(a.size()>b.size()){
b.insert(b.begin(),a.size()-b.size(),'0');
}
else if(a.size()
▼优质解答
答案和解析
这是用到了标准库,a.clear();
b.clear();
sum.clear() 的代码都有了,在头文件里
把while(cin>>a>>b)改成while(cin>>a>>b&&a||b)
把while(*a.begin()=='0')改成while(a.front()=='0')不然很难看.下面也一样.
if(a.size()==b.size()) //该if语句是把两个数的位数补齐,少的左补0
;
else if(a.size()>b.size()){
b.insert(b.begin(),a.size()-b.size(),'0');
}
else if(a.size()