认真看注释,就能看懂这道题,我相信你你一定行!!!
查看原帖
认真看注释,就能看懂这道题,我相信你你一定行!!!
1787863
ll_zz_rr_666楼主2025/7/24 19:51
#include<bits/stdc++.h>
using namespace std;
int main(){
  char a[200],b[200];//储存输入字符  
	int al[200]={0},bl[200]={0},cl[1001]={0};//储存结果 
	int lena=0,lenb=0,lenc=0;//储存数字长度 
	cin>>a>>b;
	lena=strlen(a);//将a的值获取到lena中 
	lenb=strlen(b);//将b的值获取到lenb中
	for(int i=0;i<lena;i++)
	{
		al[i]=a[lena-i-1]-'0';
	} 
	for(int i=0;i<lenb;i++)
	{
		bl[i]=b[lenb-i-1]-'0';
	}//字符转数字并倒序  
	//平时计算我们一般都会倒过来计算,这样可以更好的进位,这就叫倒序!!!
	lenc=max(lena,lenb);//结果保留长度相同 
	lenc++;
	for(int i=0;i<lenc;i++)
	{
		cl[i]+=al[i]+bl[i];//把每一位都相加 ,+=是复合运算符a+=b---->a=a+b---->a=5 
		if(cl[i]>=10)//判断进位没,如果进位就会加1  
		{
			cl[i+1]+=1;
			cl[i]-=10;	
		} 
	}
	if(cl[lenc-1]==0)
	{
		lenc--;
	}
	//循环输出结果 
	for(int i=lenc-1;i>=0;i--)
	{
		cout<<cl[i];
	} 
	return 0;
}

2025/7/24 19:51
加载中...