社区讨论

求助,为什么本地没问题但再洛谷上评测就只有0分

P1601高精度加法参与者 7已保存回复 12

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
12 条
当前快照
1 份
快照标识符
@mi7xu8vk
此快照首次捕获于
2025/11/21 05:23
4 个月前
此快照最后确认于
2025/11/21 06:40
4 个月前
查看原帖
求大佬帮助!!!QwQ
CPP
#include <bits/stdc++.h>
char a1[10001],b1[10001],s;
short a[10001],b[10001],c[10002],a1_leng,b1_leng,x=0,cleng=0,i=0;
using namespace std;
int main(){
	s=getchar();
    while(s>'9'&&s<'0') s=getchar();
	while(s<='9'&&s>='0') a1[i++]=s,s=getchar();
	a1_leng=i-1,s=getchar(),i=0;
    while(s>'9'&&s<'0') s=getchar();
	while(s<='9'&&s>='0') b1[i++]=s,s=getchar();
	b1_leng=i-1; 
	if(a1[0]=='0'&&b1[0]=='0')
	{
		cout<<"0"<<endl;
		return 0;
	}
	for(int i=a1_leng;i>=0;i--){
		a[i]=a1[a1_leng-i]-'0';
	}
	for(int i=b1_leng;i>=0;i--){
		b[i]=b1[b1_leng-i]-'0';
	}
	for(int i=0;i<=max(a1_leng,b1_leng);i++){
		c[i]=a[i]+b[i]+x;
		x=c[i]/10;
		c[i]%=10;
		cleng++;
	}
	if(x==1) c[cleng]=1;
	while(c[cleng]==0) cleng--;
	for(int i=cleng;i>=0;i--){
		cout<<c[i];
	}
	return 0;
}
本地没问题但洛谷上只会输出第一个数的值,求大佬帮忙看一下,万分感谢QAQ

回复

12 条回复,欢迎继续交流。

正在加载回复...