我是利用栈来输出的(大佬们会用压位去做这个题目,我还得去学习一下)(已经是学会了,有兴趣的朋友可以去看看)
https://blog.csdn.net/weixin_60257971/article/details/121512751https://blog.csdn.net/weixin_60257971/article/details/121512751
我的想法就是从低位开始一个个相加,再存放在栈里面。
但是有个问题,不知道有没有大佬可以帮我解决,当我用cin输入的时候是可以ac的,但用getline的时候就会显示错误。错误格式为下图所示。
#include#include #include #include #include #include using namespace std; int main(){ string str1,str2; //getline(cin,str1); //getline(cin,str2); cin>>str1; cin>>str2; stack Q; int flag=0; int ch1,ch2; if(str1.length() =10){ ch1=ch1+ch2+flag-10; flag=1; }else{ ch1=ch1+ch2+flag; flag=0; } Q.push(ch1); str1.pop_back(); str2.pop_back(); } while(!str1.empty()){ ch1=(int)str1.back()-48; if((ch1+flag)>=10){ ch1=ch1+flag-10; flag=1; }else{ ch1=ch1+flag; flag=0; } Q.push(ch1); str1.pop_back(); } if(flag==1){ Q.push(flag); } while(!Q.empty()){ int i; i=Q.top(); Q.pop(); cout<



