WA求助(洛谷AC)
查看原帖
WA求助(洛谷AC)
393852
C83_AD楼主2024/4/7 17:31

因为这题的数据比较水,所以过了。但是ybt上的板子没过。

代码如下:

#include<cstdio>
#include<cstring>
const int MAXN=503;
char a[MAXN],b[MAXN],ans_jia[MAXN];
void _jia(char a[],char b[]){
	//初始化答案数组 
	for(int i=0;i<MAXN;i++) ans_jia[i]=0;
	//声明变量与数组 
	int la=strlen(a),
		lb=strlen(b),
		lc=(la>lb?la:lb);
	int _a[lc],_b[lc],_c[lc+1];
	//初始化 
	_c[lc]=0;
	for(int i=0;i<lc;i++)
		_c[i]=0,
		_a[i]=(i<la?a[la-i-1]-'0':0),
		_b[i]=(i<lb?b[lb-i-1]-'0':0);
	//模拟竖式运算
	for(int i=0;i<lc;i++)
		_c[i+1]=(_c[i]+_a[i]+_b[i])/10,
		_c [i] =(_c[i]+_a[i]+_b[i])%10;
	//这一行,处理位数上升情况 
	if(!_c[lc]) lc--;//不上升则共有lc位(lc-1~0) 
	//输出答案至ans_jia[]
	for(int i=0;i<=lc;i++)
		ans_jia[i]=_c[lc-i]+'0';
	return;
}
int main(){
	scanf("%s%s",a,b); 
	_jia(a,b);
	printf("%s",ans_jia);
	return 0;
}

十分怪异。

以及这是我第一次尝试从0开始计数,可能哪里搞乱了的,但是我完全找不到。。。

2024/4/7 17:31
加载中...