蒟蒻求助
查看原帖
蒟蒻求助
335573
freakflowey98楼主2020/8/16 12:15
输出的时候为什么多一个零?
#include <bits/stdc++.h>
using namespace std;
int i[500];int j[500];//加数 
int ans[501];//答案 
int main()
{
	string a,b;
	cin>>a;cin>>b;//输入 
	const int n=a.length(),m=b.length();//数组长度 
	int sb=0;//进位判定 
	/*cout<<n<<"---"<<m<<endl;调试*/ 
	int q=max(n,m)+1; 
	
	for(int s=0,l=n-1;s<n&&l>=0;s++,l--)
	{
		i[l]=a[s]-48;
	} 
	for(int s=0,k=m-1;s<m&&k>=0;s++,k--)
	{
		j[k]=b[s]-48;	
	}//字符转数字 
//	for(int s=0;s<n;s++)
//	{
//		cout<<"i"<<ends<<i[s]<<endl;
//	}
//	for(int s=0;s<m;s++)
//	{
//		cout<<"j"<<ends<<j[s]<<endl;
//	}
//调试程序,现已无用	
	for(int s=0;s<q;s++) 
	{
	    ans[s]+=i[s]+j[s];//单数位相加 
		if(ans[s]>=10) 
		{
		    sb=1;
			ans[s+1]+=sb;
			sb=0;
		    ans[s]-=10;
		}//如果大于十就进位
	}	
	for(int s=q-1;s>=0;s--)
	{
		cout<<ans[s];
	}//输出	 
	return 0;
}
2020/8/16 12:15
加载中...