加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数相加

发布时间:2020-12-14 03:31:43 所属栏目:大数据 来源:网络整理
导读:思想比较简单,没有进行优化。 #includeiostream#define MAX 10#includecstringusing namespace std;void plus(const char *,const char *,char * );int main(){char n1[10],n2[10],n3[10];cinn1n2;plus(n1,n2,n3);int i =strlen(n3);for (int dex = i-1; de
思想比较简单,没有进行优化。
#include<iostream>
#define MAX  10
#include<cstring>
using namespace std;

void plus(const  char *,const char *,char * );

int main()
{
	char n1[10],n2[10],n3[10];
	cin>>n1>>n2;
	plus(n1,n2,n3);
	int i =strlen(n3);
	for (int dex = i-1; dex >= 0;dex--)
		cout<<n3[dex];
	cout<<endl;
}


void plus(const char *  n1,const char *  n2,char *  n3)
{
	cout<< 1<<endl;
	int n11 = strlen(n1)-1;
	int n22 = strlen(n2)-1;
	int i =0 ;
	bool flage = false;
	for( ; (n11>-1) && (n22>-1) ;n11--,n22--,i++)
	{
		cout<< i<<endl;
		if (n1[n11] + n2[n22]+flage -'0'-'0' >= 10)
		{
			n3[i] = n1[n11] + n2[n22]+flage -'0' -10;
			flage = true;
		}
		else
		{
			n3[i] = n1[n11] + n2[n22]+flage -'0' ;
			flage = false ;
		}
		cout<< i<<"   "<<n3[i]<<endl;;

	}	
	if (n11 != -1)
	{
		while (n11 !=-1)
		{	
			if (n1[n11] +flage -'0' >= 10)
			{
				n3[i] = n1[n11] +flage  - 10;
				flage = true ;
			}
			else 
			{
				n3[i] = n1[n11] +flage  ;
				flage = false ;
			}
			cout<< i<<"   "<<n3[i]<<endl;
			i++;
			n11--;
		}
	}
	
	else if (n22 != -1)
	{
		while (n22 !=-1)
		{
			if (n2[n22] +flage -'0' >= 10)
			{
				n3[i] = n2[n22] +flage  - 10;
				flage = true ;
			}
			else 
			{
				n3[i] = n2[n22] +flage  ;
				flage = false ;
			}
			i++;
			n11--;
		}
		
		cout<< i<<"   "<<n3[i];
	}	
	if (flage)
	{
		n3[i++] ='1';
	}
	n3[i] ='';
	
	
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读