大数加法模板

#include <bits/stdc++.h>
using namespace std;
char a[10000],b[10000];//也可以用int代替
char s[10000];
int main(){
	while(scanf("%s %s",a,b)!=EOF){
		int len1=strlen(a)-1;
		int len2=strlen(b)-1;
		int d=0;
		int c=0;
		while(len1>=0 || len2>=0){
			int w=0;
			if(len1>=0)
				w+=a[len1]-'0';
			if(len2>=0)
				w+=b[len2]-'0';
			w+=c;
			s[d]=w%10+'0';
			c=w/10;
			d++;
			len1--;
			len2--;
		}
		while(c){
			s[d++]=c%10+'0';
			c/=10;
		}
		for(int i=d-1;i>=0;i--)//倒序输出 
			printf("%c",s[i]);
		printf("\n");
	}
}

猜你喜欢

转载自blog.csdn.net/doublekillyeye/article/details/81094927
今日推荐