求问
查看原帖
求问
825994
yqcg楼主2023/12/1 21:17

代码如下:

#include<iostream>
#include<string>
#include<cmath>
#include<cstring>

using namespace std;
int anum[510],bnum[510],cnum[1000];
int main(){
	string a,b;//big<-->small
	cin>>a>>b;//1234567
	int an=0,bn=0;
	//数组内
	//7654321
	for(int i=a.size()-1;i>=0;i--){
		anum[an]=a[i]-'0';
		an++;
		//cout<<anum[an-1]<<' ';
	}
	//cout<<endl;
	for(int i=b.size()-1;i>=0;i--){
		bnum[bn]=b[i]-'0';
		bn++;
		//cout<<bnum[bn-1]<<' ';
	}
	int len=max(an,bn);
	if((anum[max(an,bn)]+bnum[max(an,bn)])>=10){
		len++;
	}
	for(int i=0;i<max(an,bn);i++){
		cnum[i]=anum[i]+bnum[i];
		cnum[i+1]=cnum[i]/10;
		cnum[i]=cnum[i]%10;
	}
	for(int i=len;i>=0;i--){
		cout<<cnum[i];
	}
	return 0;
}

目前问题在于,对于cnum的位数的特判我不知道该如何写,写了一个没有用处,我应该怎么改?

2023/12/1 21:17
加载中...