怎么改呀?我不知道怎么错了?!
查看原帖
怎么改呀?我不知道怎么错了?!
1430495
litianrui0201楼主2025/1/5 23:06

本人测试1,4过,测试2,3,5错,得了40分
输入: 46546876443156448001
46453168410002134684

输出: 93000044853158582685

我(输出): 92999044853158582685
代码:

#include<bits/stdc++.h>
using namespace std;
const int MAXN=105;
int av[MAXN];
int bv[MAXN];
int cv[MAXN];
int main( ){
	string a;cin>>a;
	string b;cin>>b;
	int n=max(a.length( ),b.length( ));//a数和b数最大那个数的位数 
	for(int i=0;i<a.length( );i++)av[i]=a[a.length( )-i-1]-'0';
	for(int i=0;i<b.length( );i++)bv[i]=b[b.length( )-i-1]-'0';//把他们转换成int数组 
	for(int i=0;i<n+1;i++){
		cv[i]+=av[i]+bv[i];cv[i]=cv[i]%10;//这一位的值 
		cv[i+1]+=cv[i]/10;//上一位进位 
	}
	//for(int i=n;i>=0;i--)if(!(i==n&&cv[i]==0))cout<<cv[i];
	for(int i=n;i>=0;i--)if(!(i==n&&cv[i]==0))cout<<cv[i];//倒序输出数组(和) 
	return 0;
}

输入: 46546876443156448001
46453168410002134684
输出: 9300 0044 8531 5858 2685
我(输出): 8299 9934 8531 5857 2685

2025/1/5 23:06
加载中...