社区讨论

求调

P1601高精度加法参与者 2已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mhj1zb3i
此快照首次捕获于
2025/11/03 19:24
4 个月前
此快照最后确认于
2025/11/03 19:24
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
void add(int a[],int b[],int c[],int lena,int lenb,int &lenc){
	lenc=max(lena,lenb);
	for(int i=0;i<lenc;i++){
		c[i]+=(a[i]+b[i])%10;
		c[i+1]+=(a[i]+b[i])/10;
	}
	if(c[lenc]!=0) lenc++;
}
void readArr(int arr[],int &len){
	char c[245];
	cin>>c;
	memset(arr,0,sizeof(int)*245);
	len=strlen(c);
	for(int i=0;i<len;i++){
		arr[len-i-1]=(c[i]-'0');
	}
}
void printArr(int arr[],int len){
	for(int i=len-1;i>=0;i--){
		cout<<arr[i];
	}
}
int main(){
	int a[245]={0},b[245]={0},c[245]={0},lena=0,lenb=0,lenc=0;
	readArr(a,lena);
	readArr(b,lenb);
	add(a,b,c,lena,lenb,lenc);
	printArr(c,lenc);
}

回复

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

正在加载回复...