最后一个点过不了怎么办
查看原帖
最后一个点过不了怎么办
1352625
mopeicong楼主2024/8/16 09:57

有人看看看一下为什么最后一个点不对

#include<bits/stdc++.h>
using namespace std;
int a[2100],b[2100],c[2100];

int main(){
	string s1,s2;
	cin>>s1>>s2;
	a[0] = s1.size();
	b[0] = s2.size();
	for(int i=s1.size()-1;i>=0;i--){
		a[s1.size()-i] = s1[i]-'0';
	}
	for(int i=s2.size()-1;i>=0;i--){
		b[s2.size()-i] = s2[i]-'0';
	}
	int lena=a[0],lenb=b[0];
	for(int i=1;i<=lena;i++){
		for(int j=1;j<=lenb;j++){
			c[i+j-1] += a[i]*b[j];
		}
	}
	int len=lena+lenb;
	for(int i=1;i<=len;i++){
		c[i+1] += c[i]/10;
		c[i] %= 10;
	}
	if(c[len]==0){
		len--;
	}
	while(c[len]==0 && len>1) len--;
	c[0] = len;
	for(int i=c[0];i>=1;i--){
		cout<<c[i];
	}
	return 0;
}
2024/8/16 09:57
加载中...